diff --git a/.gitignore b/.gitignore
index d78ff820c74d2a016a9082e9839d343eeb90700c..88063ce4122606dc88f27eefba9fe88f58cd8ddf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,265 +1,17 @@
-# Compiled class file
-*.class
+# General
+/bak
-# Log file
-*.log
-
-# BlueJ files
-*.ctxt
-
-# Mobile Tools for Java (J2ME)
-.mtj.tmp/
-
-# Package Files #
-*.jar
-*.war
-*.nar
-*.ear
-*.zip
-*.tar.gz
-*.rar
-
-# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
-hs_err_pid*
-
-
-# Created by https://www.gitignore.io/api/node,java,angular,eclipse,visualstudiocode
-# Edit at https://www.gitignore.io/?templates=node,java,angular,eclipse,visualstudiocode
-
-### Angular ###
-## Angular ##
-# compiled output
-dist/
-tmp/
-app/**/*.js
-app/**/*.js.map
-
-# dependencies
-node_modules/
-bower_components/
-
-# IDEs and editors
-.idea/
-
-# misc
-.sass-cache/
-connect.lock/
-coverage/
-libpeerconnection.log/
-npm-debug.log
-testem.log
-typings/
-
-# e2e
-e2e/*.js
-e2e/*.map
-
-#System Files
-.DS_Store/
-
-### Eclipse ###
-.metadata
-bin/
-*.tmp
-*.bak
-*.swp
-*~.nib
-local.properties
-.settings/
-.loadpath
-.recommenders
-
-# External tool builders
-.externalToolBuilders/
-
-# Locally stored "Eclipse launch configurations"
-*.launch
-
-# PyDev specific (Python IDE for Eclipse)
-*.pydevproject
-
-# CDT-specific (C/C++ Development Tooling)
-.cproject
-
-# CDT- autotools
-.autotools
-
-# Java annotation processor (APT)
-.factorypath
-
-# PDT-specific (PHP Development Tools)
-.buildpath
-
-# sbteclipse plugin
-.target
-
-# Tern plugin
-.tern-project
-
-# TeXlipse plugin
-.texlipse
-
-# STS (Spring Tool Suite)
-.springBeans
-
-# Code Recommenders
-.recommenders/
-
-# Annotation Processing
-.apt_generated/
-
-# Scala IDE specific (Scala & Java development for Eclipse)
-.cache-main
-.scala_dependencies
-.worksheet
-
-### Eclipse Patch ###
-# Eclipse Core
+# Eclipse
.project
-
-# JDT-specific (Eclipse Java Development Tools)
.classpath
+.settings
+WebContent
-# Annotation Processing
-.apt_generated
-
-.sts4-cache/
-
-### Java ###
-# Compiled class file
-*.class
-
-# Log file
-*.log
-
-# BlueJ files
-*.ctxt
-
-# Mobile Tools for Java (J2ME)
-.mtj.tmp/
-
-# Package Files #
-*.jar
-*.war
-*.nar
-*.ear
-*.zip
-*.tar.gz
-*.rar
-
-# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
-hs_err_pid*
-
-### Node ###
-# Logs
-logs
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-lerna-debug.log*
-
-# Diagnostic reports (https://nodejs.org/api/report.html)
-report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
-
-# Runtime data
-pids
-*.pid
-*.seed
-*.pid.lock
-
-# Directory for instrumented libs generated by jscoverage/JSCover
-lib-cov
-
-# Coverage directory used by tools like istanbul
-coverage
-*.lcov
-
-# nyc test coverage
-.nyc_output
-
-# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
-.grunt
-
-# Bower dependency directory (https://bower.io/)
-bower_components
-
-# node-waf configuration
-.lock-wscript
-
-# Compiled binary addons (https://nodejs.org/api/addons.html)
-build/Release
-
-# Dependency directories
-jspm_packages/
-
-# TypeScript v1 declaration files
-
-# TypeScript cache
-*.tsbuildinfo
-
-# Optional npm cache directory
-.npm
-
-# Optional eslint cache
-.eslintcache
-
-# Optional REPL history
-.node_repl_history
-
-# Output of 'npm pack'
-*.tgz
-
-# Yarn Integrity file
-.yarn-integrity
-
-# dotenv environment variables file
-.env
-.env.test
-
-# parcel-bundler cache (https://parceljs.org/)
-.cache
-
-# next.js build output
-.next
-
-# nuxt.js build output
-.nuxt
-
-# rollup.js default build output
-
-# Uncomment the public line if your project uses Gatsby
-# https://nextjs.org/blog/next-9-1#public-directory-support
-# https://create-react-app.dev/docs/using-the-public-folder/#docsNav
-# public
-
-# Storybook build outputs
-.out
-.storybook-out
-
-# vuepress build output
-.vuepress/dist
-
-# Serverless directories
-.serverless/
-
-# FuseBox cache
-.fusebox/
-
-# DynamoDB Local files
-.dynamodb/
-
-# Temporary folders
-temp/
-
-### VisualStudioCode ###
-.vscode/*
-!.vscode/settings.json
-!.vscode/tasks.json
-!.vscode/launch.json
-!.vscode/extensions.json
-
-### VisualStudioCode Patch ###
-# Ignore all local history of files
-.history
+# Maven
+/bin
+/target
+/assembly
-# End of https://www.gitignore.io/api/node,java,angular,eclipse,visualstudiocode
+# Testing
+/servers
+C:\\nppdf32Log\\debuglog.txt
diff --git a/target/classes/.gitignore b/target/classes/.gitignore
deleted file mode 100644
index 12f5b067db6d446f4736baa5d3226a66c892df19..0000000000000000000000000000000000000000
--- a/target/classes/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/es/
diff --git a/target/m2e-wtp/web-resources/.gitignore b/target/m2e-wtp/web-resources/.gitignore
deleted file mode 100644
index 3385916da52dc526118c7c76899e628cdde10ca1..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/META-INF/
diff --git a/target/m2e-wtp/web-resources/WEB-INF/web.xml b/target/m2e-wtp/web-resources/WEB-INF/web.xml
deleted file mode 100644
index a32d8cda80ed2600c9eabbc15ea88849b7f4b3ff..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/WEB-INF/web.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
- DAAExample
-
-
- index.html
-
-
-
- CorsFilter
- org.apache.catalina.filters.CorsFilter
-
- cors.allowed.origins
- *
-
-
- cors.allowed.headers
- Authorization
-
-
- cors.allowed.methods
- GET, POST, DELETE, PUT
-
-
-
- CorsFilter
- /rest/*
-
-
-
-
- Protected Area
- /rest/*
- PUT
- DELETE
- GET
- POST
-
-
- ADMIN
- USER
-
-
-
-
-
- Admin Area
- /rest/people/*
- GET
- PUT
- DELETE
- POST
-
-
- ADMIN
-
-
-
-
-
- ADMIN
-
-
- USER
-
-
-
- BASIC
- DAAExample
-
-
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/favicon.ico b/target/m2e-wtp/web-resources/favicon.ico
deleted file mode 100644
index 8081c7ceaf2be08bf59010158c586170d9d2d517..0000000000000000000000000000000000000000
Binary files a/target/m2e-wtp/web-resources/favicon.ico and /dev/null differ
diff --git a/target/m2e-wtp/web-resources/index.html b/target/m2e-wtp/web-resources/index.html
deleted file mode 100644
index 76d59f3233b6c4e4f6d052f9767c900fe5cac343..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/index.html
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
-
- DAA Example
-
-
-
-
-
-
-
-
-
diff --git a/target/m2e-wtp/web-resources/main-es2015.js b/target/m2e-wtp/web-resources/main-es2015.js
deleted file mode 100644
index bb1db318b35e342bb06955145022157e1831e6f9..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/main-es2015.js
+++ /dev/null
@@ -1,1134 +0,0 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["main"],{
-
-/***/ "./node_modules/raw-loader/dist/cjs.js!./src/app/app.component.html":
-/*!**************************************************************************!*\
- !*** ./node_modules/raw-loader/dist/cjs.js!./src/app/app.component.html ***!
- \**************************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony default export */ __webpack_exports__["default"] = ("\r\n\r\n \r\n");
-
-/***/ }),
-
-/***/ "./node_modules/raw-loader/dist/cjs.js!./src/app/components/login-panel/login-panel.component.html":
-/*!*********************************************************************************************************!*\
- !*** ./node_modules/raw-loader/dist/cjs.js!./src/app/components/login-panel/login-panel.component.html ***!
- \*********************************************************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony default export */ __webpack_exports__["default"] = ("\r\n\r\n\r\n");
-
-/***/ }),
-
-/***/ "./node_modules/raw-loader/dist/cjs.js!./src/app/components/main-panel/main-panel.component.html":
-/*!*******************************************************************************************************!*\
- !*** ./node_modules/raw-loader/dist/cjs.js!./src/app/components/main-panel/main-panel.component.html ***!
- \*******************************************************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony default export */ __webpack_exports__["default"] = ("\r\n\r\n\r\n\r\n\r\n \r\n
\r\n");
-
-/***/ }),
-
-/***/ "./node_modules/tslib/tslib.es6.js":
-/*!*****************************************!*\
- !*** ./node_modules/tslib/tslib.es6.js ***!
- \*****************************************/
-/*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__extends", function() { return __extends; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__assign", function() { return __assign; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__rest", function() { return __rest; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__decorate", function() { return __decorate; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__param", function() { return __param; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__metadata", function() { return __metadata; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__awaiter", function() { return __awaiter; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__generator", function() { return __generator; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__exportStar", function() { return __exportStar; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__values", function() { return __values; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__read", function() { return __read; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__spread", function() { return __spread; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__await", function() { return __await; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncGenerator", function() { return __asyncGenerator; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncDelegator", function() { return __asyncDelegator; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncValues", function() { return __asyncValues; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() { return __makeTemplateObject; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importStar", function() { return __importStar; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importDefault", function() { return __importDefault; });
-/*! *****************************************************************************
-Copyright (c) Microsoft Corporation. All rights reserved.
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at http://www.apache.org/licenses/LICENSE-2.0
-
-THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
-WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
-MERCHANTABLITY OR NON-INFRINGEMENT.
-
-See the Apache Version 2.0 License for specific language governing permissions
-and limitations under the License.
-***************************************************************************** */
-/* global Reflect, Promise */
-
-var extendStatics = function(d, b) {
- extendStatics = Object.setPrototypeOf ||
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
- return extendStatics(d, b);
-};
-
-function __extends(d, b) {
- extendStatics(d, b);
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
-}
-
-var __assign = function() {
- __assign = Object.assign || function __assign(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);
-}
-
-function __rest(s, e) {
- var t = {};
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
- t[p] = s[p];
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
- t[p[i]] = s[p[i]];
- return t;
-}
-
-function __decorate(decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
-}
-
-function __param(paramIndex, decorator) {
- return function (target, key) { decorator(target, key, paramIndex); }
-}
-
-function __metadata(metadataKey, metadataValue) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
-}
-
-function __awaiter(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-}
-
-function __generator(thisArg, body) {
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
- function verb(n) { return function (v) { return step([n, v]); }; }
- function step(op) {
- if (f) throw new TypeError("Generator is already executing.");
- while (_) try {
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
- if (y = 0, t) op = [op[0] & 2, t.value];
- switch (op[0]) {
- case 0: case 1: t = op; break;
- case 4: _.label++; return { value: op[1], done: false };
- case 5: _.label++; y = op[1]; op = [0]; continue;
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
- default:
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
- if (t[2]) _.ops.pop();
- _.trys.pop(); continue;
- }
- op = body.call(thisArg, _);
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
- }
-}
-
-function __exportStar(m, exports) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
-}
-
-function __values(o) {
- var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
- if (m) return m.call(o);
- return {
- next: function () {
- if (o && i >= o.length) o = void 0;
- return { value: o && o[i++], done: !o };
- }
- };
-}
-
-function __read(o, n) {
- var m = typeof Symbol === "function" && o[Symbol.iterator];
- if (!m) return o;
- var i = m.call(o), r, ar = [], e;
- try {
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
- }
- catch (error) { e = { error: error }; }
- finally {
- try {
- if (r && !r.done && (m = i["return"])) m.call(i);
- }
- finally { if (e) throw e.error; }
- }
- return ar;
-}
-
-function __spread() {
- for (var ar = [], i = 0; i < arguments.length; i++)
- ar = ar.concat(__read(arguments[i]));
- return ar;
-}
-
-function __await(v) {
- return this instanceof __await ? (this.v = v, this) : new __await(v);
-}
-
-function __asyncGenerator(thisArg, _arguments, generator) {
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
- function fulfill(value) { resume("next", value); }
- function reject(value) { resume("throw", value); }
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
-}
-
-function __asyncDelegator(o) {
- var i, p;
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
-}
-
-function __asyncValues(o) {
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
- var m = o[Symbol.asyncIterator], i;
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
-}
-
-function __makeTemplateObject(cooked, raw) {
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
- return cooked;
-};
-
-function __importStar(mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
- result.default = mod;
- return result;
-}
-
-function __importDefault(mod) {
- return (mod && mod.__esModule) ? mod : { default: mod };
-}
-
-
-/***/ }),
-
-/***/ "./src/$$_lazy_route_resource lazy recursive":
-/*!**********************************************************!*\
- !*** ./src/$$_lazy_route_resource lazy namespace object ***!
- \**********************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-function webpackEmptyAsyncContext(req) {
- // Here Promise.resolve().then() is used instead of new Promise() to prevent
- // uncaught exception popping up in devtools
- return Promise.resolve().then(function() {
- var e = new Error("Cannot find module '" + req + "'");
- e.code = 'MODULE_NOT_FOUND';
- throw e;
- });
-}
-webpackEmptyAsyncContext.keys = function() { return []; };
-webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;
-module.exports = webpackEmptyAsyncContext;
-webpackEmptyAsyncContext.id = "./src/$$_lazy_route_resource lazy recursive";
-
-/***/ }),
-
-/***/ "./src/app/app-routing.module.ts":
-/*!***************************************!*\
- !*** ./src/app/app-routing.module.ts ***!
- \***************************************/
-/*! exports provided: AppRoutingModule */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AppRoutingModule", function() { return AppRoutingModule; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm2015/router.js");
-/* harmony import */ var _guards_unauthenticated_guard__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./guards/unauthenticated.guard */ "./src/app/guards/unauthenticated.guard.ts");
-/* harmony import */ var _guards_authenticated_guard__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./guards/authenticated.guard */ "./src/app/guards/authenticated.guard.ts");
-/* harmony import */ var _components_login_panel_login_panel_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/login-panel/login-panel.component */ "./src/app/components/login-panel/login-panel.component.ts");
-/* harmony import */ var _components_main_panel_main_panel_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/main-panel/main-panel.component */ "./src/app/components/main-panel/main-panel.component.ts");
-/*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
-
-
-
-
-
-const routes = [
- {
- path: 'welcome',
- pathMatch: 'full',
- component: _components_login_panel_login_panel_component__WEBPACK_IMPORTED_MODULE_5__["LoginPanelComponent"],
- canActivate: [_guards_unauthenticated_guard__WEBPACK_IMPORTED_MODULE_3__["UnauthenticatedGuard"]]
- },
- {
- path: '',
- component: _components_main_panel_main_panel_component__WEBPACK_IMPORTED_MODULE_6__["MainPanelComponent"],
- canActivate: [_guards_authenticated_guard__WEBPACK_IMPORTED_MODULE_4__["AuthenticatedGuard"]],
- children: [
- {
- path: '',
- redirectTo: 'people',
- pathMatch: 'full'
- },
- {
- path: 'people',
- loadChildren: () => __webpack_require__.e(/*! import() | modules-people-people-module */ "modules-people-people-module").then(__webpack_require__.bind(null, /*! ./modules/people/people.module */ "./src/app/modules/people/people.module.ts")).then(m => m.PeopleModule)
- },
- {
- path: 'listPets/:person',
- redirectTo: ':person',
- pathMatch: 'full'
- },
- {
- path: ':person',
- loadChildren: () => __webpack_require__.e(/*! import() | modules-pets-pets-module */ "modules-pets-pets-module").then(__webpack_require__.bind(null, /*! ./modules/pets/pets.module */ "./src/app/modules/pets/pets.module.ts")).then(m => m.PetsModule)
- }
- ]
- },
-];
-let AppRoutingModule = class AppRoutingModule {
-};
-AppRoutingModule = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
- imports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"].forRoot(routes)],
- exports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"]]
- })
-], AppRoutingModule);
-
-
-
-/***/ }),
-
-/***/ "./src/app/app.component.scss":
-/*!************************************!*\
- !*** ./src/app/app.component.scss ***!
- \************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony default export */ __webpack_exports__["default"] = ("/*!\n * DAA Example\n *\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQzpcXFVzZXJzXFxOb2VsaWFcXERlc2t0b3BcXERBQVxcZGFhZXhhbXBsZVxcc3JjXFxtYWluXFxhbmd1bGFyL3NyY1xcYXBwXFxhcHAuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBQUEiLCJmaWxlIjoic3JjL2FwcC9hcHAuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcclxuICogREFBIEV4YW1wbGVcclxuICpcclxuICogQ29weXJpZ2h0IChDKSAyMDE5IC0gTWlndWVsIFJlYm9pcm8tSmF0by5cclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXHJcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXHJcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxyXG4gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxyXG4gKlxyXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxyXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxyXG4gKi9cclxuXHJcbiJdfQ== */");
-
-/***/ }),
-
-/***/ "./src/app/app.component.ts":
-/*!**********************************!*\
- !*** ./src/app/app.component.ts ***!
- \**********************************/
-/*! exports provided: AppComponent */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AppComponent", function() { return AppComponent; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
-let AppComponent = class AppComponent {
- constructor() {
- this.title = 'angular';
- }
-};
-AppComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
- selector: 'app-root',
- template: tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(/*! raw-loader!./app.component.html */ "./node_modules/raw-loader/dist/cjs.js!./src/app/app.component.html")).default,
- styles: [tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(/*! ./app.component.scss */ "./src/app/app.component.scss")).default]
- })
-], AppComponent);
-
-
-
-/***/ }),
-
-/***/ "./src/app/app.module.ts":
-/*!*******************************!*\
- !*** ./src/app/app.module.ts ***!
- \*******************************/
-/*! exports provided: AppModule */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AppModule", function() { return AppModule; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/platform-browser */ "./node_modules/@angular/platform-browser/fesm2015/platform-browser.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var _app_routing_module__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./app-routing.module */ "./src/app/app-routing.module.ts");
-/* harmony import */ var _app_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./app.component */ "./src/app/app.component.ts");
-/* harmony import */ var _components_login_panel_login_panel_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/login-panel/login-panel.component */ "./src/app/components/login-panel/login-panel.component.ts");
-/* harmony import */ var _components_main_panel_main_panel_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/main-panel/main-panel.component */ "./src/app/components/main-panel/main-panel.component.ts");
-/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm2015/http.js");
-/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/fesm2015/forms.js");
-/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm2015/common.js");
-/* harmony import */ var _interceptors_authentication_interceptor__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./interceptors/authentication.interceptor */ "./src/app/interceptors/authentication.interceptor.ts");
-/*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
-
-
-
-
-
-
-
-
-
-let AppModule = class AppModule {
-};
-AppModule = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_2__["NgModule"])({
- declarations: [
- _app_component__WEBPACK_IMPORTED_MODULE_4__["AppComponent"],
- _components_login_panel_login_panel_component__WEBPACK_IMPORTED_MODULE_5__["LoginPanelComponent"],
- _components_main_panel_main_panel_component__WEBPACK_IMPORTED_MODULE_6__["MainPanelComponent"],
- ],
- imports: [
- _app_routing_module__WEBPACK_IMPORTED_MODULE_3__["AppRoutingModule"],
- _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__["BrowserModule"],
- _angular_common__WEBPACK_IMPORTED_MODULE_9__["CommonModule"],
- _angular_forms__WEBPACK_IMPORTED_MODULE_8__["FormsModule"],
- _angular_common_http__WEBPACK_IMPORTED_MODULE_7__["HttpClientModule"]
- ],
- providers: [
- {
- provide: _angular_common_http__WEBPACK_IMPORTED_MODULE_7__["HTTP_INTERCEPTORS"],
- useClass: _interceptors_authentication_interceptor__WEBPACK_IMPORTED_MODULE_10__["AuthenticationInterceptor"],
- multi: true
- },
- {
- provide: _angular_common__WEBPACK_IMPORTED_MODULE_9__["LocationStrategy"],
- useClass: _angular_common__WEBPACK_IMPORTED_MODULE_9__["HashLocationStrategy"]
- }
- ],
- bootstrap: [_app_component__WEBPACK_IMPORTED_MODULE_4__["AppComponent"]]
- })
-], AppModule);
-
-
-
-/***/ }),
-
-/***/ "./src/app/components/login-panel/login-panel.component.scss":
-/*!*******************************************************************!*\
- !*** ./src/app/components/login-panel/login-panel.component.scss ***!
- \*******************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony default export */ __webpack_exports__["default"] = ("/*!\n * DAA Example\n *\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n#container {\n height: 100%;\n width: 100%;\n display: -webkit-box;\n display: flex;\n -ms-flex-align: center;\n -ms-flex-pack: center;\n -webkit-box-align: center;\n align-items: center;\n -webkit-box-pack: center;\n justify-content: center;\n padding-top: 40px;\n padding-bottom: 40px;\n}\n.form-signin {\n width: 100%;\n max-width: 330px;\n padding: 15px;\n margin: 0 auto;\n}\n.form-signin .form-control {\n position: relative;\n box-sizing: border-box;\n height: auto;\n padding: 10px;\n font-size: 16px;\n}\n.form-signin .form-control:focus {\n z-index: 2;\n}\n#login {\n margin-bottom: -1px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n#password {\n margin-bottom: 10px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9sb2dpbi1wYW5lbC9DOlxcVXNlcnNcXE5vZWxpYVxcRGVza3RvcFxcREFBXFxkYWFleGFtcGxlXFxzcmNcXG1haW5cXGFuZ3VsYXIvc3JjXFxhcHBcXGNvbXBvbmVudHNcXGxvZ2luLXBhbmVsXFxsb2dpbi1wYW5lbC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvY29tcG9uZW50cy9sb2dpbi1wYW5lbC9sb2dpbi1wYW5lbC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFBQTtBQW1CQTtFQUNFLFlBQUE7RUFDQSxXQUFBO0VBRUEsb0JBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxxQkFBQTtFQUNBLHlCQUFBO0VBQ0EsbUJBQUE7RUFDQSx3QkFBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtBQ0FGO0FER0E7RUFDRSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtBQ0FGO0FER0E7RUFDRSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxlQUFBO0FDQUY7QURHQTtFQUNFLFVBQUE7QUNBRjtBREdBO0VBQ0UsbUJBQUE7RUFDQSw2QkFBQTtFQUNBLDRCQUFBO0FDQUY7QURHQTtFQUNFLG1CQUFBO0VBQ0EseUJBQUE7RUFDQSwwQkFBQTtBQ0FGIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9sb2dpbi1wYW5lbC9sb2dpbi1wYW5lbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBEQUEgRXhhbXBsZVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTkgLSBNaWd1ZWwgUmVib2lyby1KYXRvLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXHJcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqL1xyXG5cclxuI2NvbnRhaW5lciB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XHJcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBwYWRkaW5nLXRvcDogNDBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxufVxyXG5cclxuLmZvcm0tc2lnbmluIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDMzMHB4O1xyXG4gIHBhZGRpbmc6IDE1cHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5mb3JtLXNpZ25pbiAuZm9ybS1jb250cm9sIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi5mb3JtLXNpZ25pbiAuZm9ybS1jb250cm9sOmZvY3VzIHtcclxuICB6LWluZGV4OiAyO1xyXG59XHJcblxyXG4jbG9naW4ge1xyXG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxufVxyXG5cclxuI3Bhc3N3b3JkIHtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XHJcbn1cclxuIiwiLyohXG4gKiBEQUEgRXhhbXBsZVxuICpcbiAqIENvcHlyaWdodCAoQykgMjAxOSAtIE1pZ3VlbCBSZWJvaXJvLUphdG8uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cbiNjb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xufVxuXG4uZm9ybS1zaWduaW4ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzMzBweDtcbiAgcGFkZGluZzogMTVweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5mb3JtLXNpZ25pbiAuZm9ybS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmZvcm0tc2lnbmluIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICB6LWluZGV4OiAyO1xufVxuXG4jbG9naW4ge1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cblxuI3Bhc3N3b3JkIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59Il19 */");
-
-/***/ }),
-
-/***/ "./src/app/components/login-panel/login-panel.component.ts":
-/*!*****************************************************************!*\
- !*** ./src/app/components/login-panel/login-panel.component.ts ***!
- \*****************************************************************/
-/*! exports provided: LoginPanelComponent */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LoginPanelComponent", function() { return LoginPanelComponent; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm2015/router.js");
-/* harmony import */ var _services_authentication_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/authentication.service */ "./src/app/services/authentication.service.ts");
-/*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
-
-
-let LoginPanelComponent = class LoginPanelComponent {
- constructor(authenticationService, router) {
- this.authenticationService = authenticationService;
- this.router = router;
- this.login = '';
- this.password = '';
- }
- onLogin() {
- const credentials = {
- login: this.login,
- password: this.password
- };
- this.authenticationService.tryLogin(credentials)
- .subscribe(() => this.router.navigate(['/']));
- }
-};
-LoginPanelComponent.ctorParameters = () => [
- { type: _services_authentication_service__WEBPACK_IMPORTED_MODULE_3__["AuthenticationService"] },
- { type: _angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"] }
-];
-LoginPanelComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
- selector: 'app-login-panel',
- template: tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(/*! raw-loader!./login-panel.component.html */ "./node_modules/raw-loader/dist/cjs.js!./src/app/components/login-panel/login-panel.component.html")).default,
- styles: [tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(/*! ./login-panel.component.scss */ "./src/app/components/login-panel/login-panel.component.scss")).default]
- }),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_services_authentication_service__WEBPACK_IMPORTED_MODULE_3__["AuthenticationService"],
- _angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"]])
-], LoginPanelComponent);
-
-
-
-/***/ }),
-
-/***/ "./src/app/components/main-panel/main-panel.component.scss":
-/*!*****************************************************************!*\
- !*** ./src/app/components/main-panel/main-panel.component.scss ***!
- \*****************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony default export */ __webpack_exports__["default"] = ("/*!\n * DAA Example\n *\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9tYWluLXBhbmVsL0M6XFxVc2Vyc1xcTm9lbGlhXFxEZXNrdG9wXFxEQUFcXGRhYWV4YW1wbGVcXHNyY1xcbWFpblxcYW5ndWxhci9zcmNcXGFwcFxcY29tcG9uZW50c1xcbWFpbi1wYW5lbFxcbWFpbi1wYW5lbC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFBQSIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbWFpbi1wYW5lbC9tYWluLXBhbmVsLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXHJcbiAqIERBQSBFeGFtcGxlXHJcbiAqXHJcbiAqIENvcHlyaWdodCAoQykgMjAxOSAtIE1pZ3VlbCBSZWJvaXJvLUphdG8uXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxyXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxyXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcclxuICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cclxuICpcclxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcclxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cclxuICovXHJcbiJdfQ== */");
-
-/***/ }),
-
-/***/ "./src/app/components/main-panel/main-panel.component.ts":
-/*!***************************************************************!*\
- !*** ./src/app/components/main-panel/main-panel.component.ts ***!
- \***************************************************************/
-/*! exports provided: MainPanelComponent */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MainPanelComponent", function() { return MainPanelComponent; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var _angular_cdk_layout__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/cdk/layout */ "./node_modules/@angular/cdk/esm2015/layout.js");
-/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm2015/operators/index.js");
-/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm2015/router.js");
-/* harmony import */ var _services_authentication_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/authentication.service */ "./src/app/services/authentication.service.ts");
-/*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
-
-
-
-
-let MainPanelComponent = class MainPanelComponent {
- constructor(authenticationService, breakpointObserver, router) {
- this.authenticationService = authenticationService;
- this.breakpointObserver = breakpointObserver;
- this.router = router;
- this.isHandset$ = this.breakpointObserver.observe(_angular_cdk_layout__WEBPACK_IMPORTED_MODULE_2__["Breakpoints"].Handset)
- .pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["map"])(result => result.matches));
- }
- onLogout() {
- this.authenticationService.logout();
- this.router.navigate(['welcome']);
- }
-};
-MainPanelComponent.ctorParameters = () => [
- { type: _services_authentication_service__WEBPACK_IMPORTED_MODULE_5__["AuthenticationService"] },
- { type: _angular_cdk_layout__WEBPACK_IMPORTED_MODULE_2__["BreakpointObserver"] },
- { type: _angular_router__WEBPACK_IMPORTED_MODULE_4__["Router"] }
-];
-MainPanelComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
- selector: 'app-main-panel',
- template: tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(/*! raw-loader!./main-panel.component.html */ "./node_modules/raw-loader/dist/cjs.js!./src/app/components/main-panel/main-panel.component.html")).default,
- styles: [tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(/*! ./main-panel.component.scss */ "./src/app/components/main-panel/main-panel.component.scss")).default]
- }),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_services_authentication_service__WEBPACK_IMPORTED_MODULE_5__["AuthenticationService"],
- _angular_cdk_layout__WEBPACK_IMPORTED_MODULE_2__["BreakpointObserver"],
- _angular_router__WEBPACK_IMPORTED_MODULE_4__["Router"]])
-], MainPanelComponent);
-
-
-
-/***/ }),
-
-/***/ "./src/app/guards/authenticated.guard.ts":
-/*!***********************************************!*\
- !*** ./src/app/guards/authenticated.guard.ts ***!
- \***********************************************/
-/*! exports provided: AuthenticatedGuard */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AuthenticatedGuard", function() { return AuthenticatedGuard; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm2015/router.js");
-/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm2015/operators/index.js");
-/* harmony import */ var _services_authentication_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/authentication.service */ "./src/app/services/authentication.service.ts");
-/*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
-
-
-
-let AuthenticatedGuard = class AuthenticatedGuard {
- constructor(authenticationService, router) {
- this.authenticationService = authenticationService;
- this.router = router;
- }
- canActivate(next, state) {
- if (this.authenticationService.isLogged()) {
- return true;
- }
- else {
- return this.authenticationService.tryLoginWithStoredCredentials()
- .pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["map"])(user => user !== null), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["tap"])(isLogged => {
- if (!isLogged) {
- this.router.navigate(['welcome']);
- }
- }));
- }
- }
-};
-AuthenticatedGuard.ctorParameters = () => [
- { type: _services_authentication_service__WEBPACK_IMPORTED_MODULE_4__["AuthenticationService"] },
- { type: _angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"] }
-];
-AuthenticatedGuard = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({
- providedIn: 'root'
- }),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_services_authentication_service__WEBPACK_IMPORTED_MODULE_4__["AuthenticationService"],
- _angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"]])
-], AuthenticatedGuard);
-
-
-
-/***/ }),
-
-/***/ "./src/app/guards/unauthenticated.guard.ts":
-/*!*************************************************!*\
- !*** ./src/app/guards/unauthenticated.guard.ts ***!
- \*************************************************/
-/*! exports provided: UnauthenticatedGuard */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "UnauthenticatedGuard", function() { return UnauthenticatedGuard; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm2015/router.js");
-/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm2015/operators/index.js");
-/* harmony import */ var _services_authentication_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/authentication.service */ "./src/app/services/authentication.service.ts");
-/*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
-
-
-
-let UnauthenticatedGuard = class UnauthenticatedGuard {
- constructor(authenticationService, router) {
- this.authenticationService = authenticationService;
- this.router = router;
- }
- canActivate(next, state) {
- if (this.authenticationService.isLogged()) {
- this.router.navigate([]);
- return false;
- }
- else {
- return this.authenticationService.tryLoginWithStoredCredentials()
- .pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["map"])(user => user === null), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["tap"])(isNotLogged => {
- if (!isNotLogged) {
- this.router.navigate([]);
- }
- }));
- }
- }
-};
-UnauthenticatedGuard.ctorParameters = () => [
- { type: _services_authentication_service__WEBPACK_IMPORTED_MODULE_4__["AuthenticationService"] },
- { type: _angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"] }
-];
-UnauthenticatedGuard = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({
- providedIn: 'root'
- }),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_services_authentication_service__WEBPACK_IMPORTED_MODULE_4__["AuthenticationService"],
- _angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"]])
-], UnauthenticatedGuard);
-
-
-
-/***/ }),
-
-/***/ "./src/app/interceptors/authentication.interceptor.ts":
-/*!************************************************************!*\
- !*** ./src/app/interceptors/authentication.interceptor.ts ***!
- \************************************************************/
-/*! exports provided: AuthenticationInterceptor */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AuthenticationInterceptor", function() { return AuthenticationInterceptor; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var _services_authentication_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../services/authentication.service */ "./src/app/services/authentication.service.ts");
-/*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
-
-let AuthenticationInterceptor = class AuthenticationInterceptor {
- constructor(authenticationService) {
- this.authenticationService = authenticationService;
- }
- intercept(request, next) {
- const user = this.authenticationService.loggedUser;
- if (user !== null) {
- request = request.clone({
- setHeaders: {
- Authorization: 'Basic ' + btoa(user.login + ':' + user.password)
- }
- });
- }
- return next.handle(request);
- }
-};
-AuthenticationInterceptor.ctorParameters = () => [
- { type: _services_authentication_service__WEBPACK_IMPORTED_MODULE_2__["AuthenticationService"] }
-];
-AuthenticationInterceptor = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({
- providedIn: 'root'
- }),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_services_authentication_service__WEBPACK_IMPORTED_MODULE_2__["AuthenticationService"]])
-], AuthenticationInterceptor);
-
-
-
-/***/ }),
-
-/***/ "./src/app/services/authentication.service.ts":
-/*!****************************************************!*\
- !*** ./src/app/services/authentication.service.ts ***!
- \****************************************************/
-/*! exports provided: AuthenticationService */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AuthenticationService", function() { return AuthenticationService; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs */ "./node_modules/rxjs/_esm2015/index.js");
-/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm2015/http.js");
-/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../environments/environment */ "./src/environments/environment.ts");
-/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm2015/operators/index.js");
-/*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-var AuthenticationService_1;
-
-
-
-
-
-
-let AuthenticationService = AuthenticationService_1 = class AuthenticationService {
- constructor(http) {
- this.http = http;
- this._loggedUser$ = new rxjs__WEBPACK_IMPORTED_MODULE_2__["BehaviorSubject"](null);
- }
- static clearCredentials() {
- localStorage.removeItem(AuthenticationService_1.USER_STORAGE_KEY);
- }
- static loadCredentials() {
- const serializedCredentials = localStorage.getItem(AuthenticationService_1.USER_STORAGE_KEY);
- if (serializedCredentials !== null) {
- return JSON.parse(serializedCredentials);
- }
- else {
- return null;
- }
- }
- static storeCredentials(login, password) {
- const credentials = { login, password };
- localStorage.setItem(AuthenticationService_1.USER_STORAGE_KEY, JSON.stringify(credentials));
- }
- get loggedUser$() {
- return this._loggedUser$.asObservable();
- }
- get loggedUser() {
- return this._loggedUser$.value;
- }
- isLogged() {
- return this.loggedUser !== null;
- }
- logout() {
- AuthenticationService_1.clearCredentials();
- this._loggedUser$.next(null);
- }
- tryLoginWithStoredCredentials() {
- const credentials = AuthenticationService_1.loadCredentials();
- if (credentials !== null) {
- return this.tryLogin(credentials);
- }
- else {
- return Object(rxjs__WEBPACK_IMPORTED_MODULE_2__["of"])(null);
- }
- }
- tryLogin(login, password) {
- let userLogin;
- let userPassword;
- if (typeof login === 'string') {
- if (password === undefined) {
- throw new TypeError('password can\'t be null when login is string');
- }
- userLogin = login;
- userPassword = password;
- }
- else {
- userLogin = login.login;
- userPassword = login.password;
- }
- AuthenticationService_1.storeCredentials(userLogin, userPassword);
- const headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__["HttpHeaders"]()
- .set('Authorization', 'Basic ' + btoa(userLogin + ':' + userPassword));
- return this.http.get(`${_environments_environment__WEBPACK_IMPORTED_MODULE_4__["environment"].restApi}/users/${userLogin}`, {
- headers: headers
- })
- .pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_5__["tap"])(user => this._loggedUser$.next({
- login: userLogin,
- password: userPassword
- })), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_5__["catchError"])(error => {
- this._loggedUser$.next(null);
- throw error;
- }));
- }
-};
-AuthenticationService.USER_STORAGE_KEY = 'user';
-AuthenticationService.ctorParameters = () => [
- { type: _angular_common_http__WEBPACK_IMPORTED_MODULE_3__["HttpClient"] }
-];
-AuthenticationService = AuthenticationService_1 = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({
- providedIn: 'root'
- }),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_common_http__WEBPACK_IMPORTED_MODULE_3__["HttpClient"]])
-], AuthenticationService);
-
-
-
-/***/ }),
-
-/***/ "./src/environments/environment.ts":
-/*!*****************************************!*\
- !*** ./src/environments/environment.ts ***!
- \*****************************************/
-/*! exports provided: environment */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "environment", function() { return environment; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-// This file can be replaced during build by using the `fileReplacements` array.
-// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
-// The list of file replacements can be found in `angular.json`.
-const environment = {
- production: false,
- restApi: 'http://localhost:9080/DAAExample/rest'
-};
-/*
- * For easier debugging in development mode, you can import the following file
- * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
- *
- * This import should be commented out in production mode because it will have a negative impact
- * on performance if an error is thrown.
- */
-// import 'zone.js/dist/zone-error'; // Included with Angular CLI.
-
-
-/***/ }),
-
-/***/ "./src/main.ts":
-/*!*********************!*\
- !*** ./src/main.ts ***!
- \*********************/
-/*! no exports provided */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var _angular_platform_browser_dynamic__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/platform-browser-dynamic */ "./node_modules/@angular/platform-browser-dynamic/fesm2015/platform-browser-dynamic.js");
-/* harmony import */ var _app_app_module__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./app/app.module */ "./src/app/app.module.ts");
-/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./environments/environment */ "./src/environments/environment.ts");
-/*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
-
-
-
-if (_environments_environment__WEBPACK_IMPORTED_MODULE_4__["environment"].production) {
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["enableProdMode"])();
-}
-Object(_angular_platform_browser_dynamic__WEBPACK_IMPORTED_MODULE_2__["platformBrowserDynamic"])().bootstrapModule(_app_app_module__WEBPACK_IMPORTED_MODULE_3__["AppModule"])
- .catch(err => console.error(err));
-
-
-/***/ }),
-
-/***/ 0:
-/*!***************************!*\
- !*** multi ./src/main.ts ***!
- \***************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__(/*! C:\Users\Noelia\Desktop\DAA\daaexample\src\main\angular\src\main.ts */"./src/main.ts");
-
-
-/***/ })
-
-},[[0,"runtime","vendor"]]]);
-//# sourceMappingURL=main-es2015.js.map
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/main-es2015.js.map b/target/m2e-wtp/web-resources/main-es2015.js.map
deleted file mode 100644
index 81bb2b8be66fdae59899f6e1ea95206b92b05249..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/main-es2015.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["./src/app/app.component.html","./src/app/components/login-panel/login-panel.component.html","./src/app/components/main-panel/main-panel.component.html","./node_modules/tslib/tslib.es6.js","./src/$_lazy_route_resource lazy namespace object","./src/app/app-routing.module.ts","./src/app/app.component.scss","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/components/login-panel/login-panel.component.scss","./src/app/components/login-panel/login-panel.component.ts","./src/app/components/main-panel/main-panel.component.scss","./src/app/components/main-panel/main-panel.component.ts","./src/app/guards/authenticated.guard.ts","./src/app/guards/unauthenticated.guard.ts","./src/app/interceptors/authentication.interceptor.ts","./src/app/services/authentication.service.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main-es2015.js","sourcesContent":["export default \"\\r\\n\\r\\n \\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n\"","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport {UnauthenticatedGuard} from './guards/unauthenticated.guard';\r\nimport {AuthenticatedGuard} from './guards/authenticated.guard';\r\nimport {LoginPanelComponent} from './components/login-panel/login-panel.component';\r\nimport {MainPanelComponent} from './components/main-panel/main-panel.component';\r\nimport {PetsFormComponent} from './modules/pets/components/pets-form/pets-form.component';\r\n\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'welcome',\r\n pathMatch: 'full',\r\n component: LoginPanelComponent,\r\n canActivate: [UnauthenticatedGuard]\r\n },\r\n {\r\n path: '',\r\n component: MainPanelComponent,\r\n canActivate: [AuthenticatedGuard],\r\n children: [\r\n {\r\n path: '',\r\n redirectTo: 'people',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'people',\r\n loadChildren: () => import('./modules/people/people.module').then(m => m.PeopleModule)\r\n },\r\n {\r\n path: 'listPets/:person',\r\n redirectTo: ':person',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: ':person',\r\n loadChildren: () => import('./modules/pets/pets.module').then(m => m.PetsModule)\r\n }\r\n ]\r\n },\r\n \r\n\r\n \r\n \r\n \r\n /*{\r\n path: 'pets/:person',\r\n pathMatch: 'full',\r\n component: PetsFormComponent,\r\n canActivate: [AuthenticatedGuard]\r\n }*/\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","export default \"/*!\\n * DAA Example\\n *\\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU General Public License as published by\\n * the Free Software Foundation, either version 3 of the License, or\\n * (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU General Public License for more details.\\n *\\n * You should have received a copy of the GNU General Public License\\n * along with this program. If not, see .\\n */\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQzpcXFVzZXJzXFxOb2VsaWFcXERlc2t0b3BcXERBQVxcZGFhZXhhbXBsZVxcc3JjXFxtYWluXFxhbmd1bGFyL3NyY1xcYXBwXFxhcHAuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBQUEiLCJmaWxlIjoic3JjL2FwcC9hcHAuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcclxuICogREFBIEV4YW1wbGVcclxuICpcclxuICogQ29weXJpZ2h0IChDKSAyMDE5IC0gTWlndWVsIFJlYm9pcm8tSmF0by5cclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXHJcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXHJcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxyXG4gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxyXG4gKlxyXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxyXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxyXG4gKi9cclxuXHJcbiJdfQ== */\"","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent {\r\n title = 'angular';\r\n}\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {BrowserModule} from '@angular/platform-browser';\r\nimport {NgModule} from '@angular/core';\r\n\r\nimport {AppRoutingModule} from './app-routing.module';\r\nimport {AppComponent} from './app.component';\r\nimport {LoginPanelComponent} from './components/login-panel/login-panel.component';\r\nimport {MainPanelComponent} from './components/main-panel/main-panel.component';\r\nimport {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {CommonModule, HashLocationStrategy, LocationStrategy} from '@angular/common';\r\nimport {AuthenticationInterceptor} from './interceptors/authentication.interceptor';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginPanelComponent,\r\n MainPanelComponent,\r\n ],\r\n imports: [\r\n AppRoutingModule,\r\n BrowserModule,\r\n CommonModule,\r\n FormsModule,\r\n HttpClientModule\r\n ],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthenticationInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: LocationStrategy,\r\n useClass: HashLocationStrategy\r\n }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n}\r\n","export default \"/*!\\n * DAA Example\\n *\\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU General Public License as published by\\n * the Free Software Foundation, either version 3 of the License, or\\n * (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU General Public License for more details.\\n *\\n * You should have received a copy of the GNU General Public License\\n * along with this program. If not, see .\\n */\\n#container {\\n height: 100%;\\n width: 100%;\\n display: -webkit-box;\\n display: flex;\\n -ms-flex-align: center;\\n -ms-flex-pack: center;\\n -webkit-box-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n justify-content: center;\\n padding-top: 40px;\\n padding-bottom: 40px;\\n}\\n.form-signin {\\n width: 100%;\\n max-width: 330px;\\n padding: 15px;\\n margin: 0 auto;\\n}\\n.form-signin .form-control {\\n position: relative;\\n box-sizing: border-box;\\n height: auto;\\n padding: 10px;\\n font-size: 16px;\\n}\\n.form-signin .form-control:focus {\\n z-index: 2;\\n}\\n#login {\\n margin-bottom: -1px;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n#password {\\n margin-bottom: 10px;\\n border-top-left-radius: 0;\\n border-top-right-radius: 0;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9sb2dpbi1wYW5lbC9DOlxcVXNlcnNcXE5vZWxpYVxcRGVza3RvcFxcREFBXFxkYWFleGFtcGxlXFxzcmNcXG1haW5cXGFuZ3VsYXIvc3JjXFxhcHBcXGNvbXBvbmVudHNcXGxvZ2luLXBhbmVsXFxsb2dpbi1wYW5lbC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvY29tcG9uZW50cy9sb2dpbi1wYW5lbC9sb2dpbi1wYW5lbC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFBQTtBQW1CQTtFQUNFLFlBQUE7RUFDQSxXQUFBO0VBRUEsb0JBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxxQkFBQTtFQUNBLHlCQUFBO0VBQ0EsbUJBQUE7RUFDQSx3QkFBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtBQ0FGO0FER0E7RUFDRSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtBQ0FGO0FER0E7RUFDRSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxlQUFBO0FDQUY7QURHQTtFQUNFLFVBQUE7QUNBRjtBREdBO0VBQ0UsbUJBQUE7RUFDQSw2QkFBQTtFQUNBLDRCQUFBO0FDQUY7QURHQTtFQUNFLG1CQUFBO0VBQ0EseUJBQUE7RUFDQSwwQkFBQTtBQ0FGIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9sb2dpbi1wYW5lbC9sb2dpbi1wYW5lbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBEQUEgRXhhbXBsZVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTkgLSBNaWd1ZWwgUmVib2lyby1KYXRvLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXHJcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqL1xyXG5cclxuI2NvbnRhaW5lciB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XHJcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBwYWRkaW5nLXRvcDogNDBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxufVxyXG5cclxuLmZvcm0tc2lnbmluIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDMzMHB4O1xyXG4gIHBhZGRpbmc6IDE1cHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5mb3JtLXNpZ25pbiAuZm9ybS1jb250cm9sIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi5mb3JtLXNpZ25pbiAuZm9ybS1jb250cm9sOmZvY3VzIHtcclxuICB6LWluZGV4OiAyO1xyXG59XHJcblxyXG4jbG9naW4ge1xyXG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxufVxyXG5cclxuI3Bhc3N3b3JkIHtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XHJcbn1cclxuIiwiLyohXG4gKiBEQUEgRXhhbXBsZVxuICpcbiAqIENvcHlyaWdodCAoQykgMjAxOSAtIE1pZ3VlbCBSZWJvaXJvLUphdG8uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cbiNjb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xufVxuXG4uZm9ybS1zaWduaW4ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzMzBweDtcbiAgcGFkZGluZzogMTVweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5mb3JtLXNpZ25pbiAuZm9ybS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmZvcm0tc2lnbmluIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICB6LWluZGV4OiAyO1xufVxuXG4jbG9naW4ge1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cblxuI3Bhc3N3b3JkIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59Il19 */\"","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {Component} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {AuthenticationService} from '../../services/authentication.service';\r\nimport {UserModel} from '../../models';\r\n\r\n@Component({\r\n selector: 'app-login-panel',\r\n templateUrl: './login-panel.component.html',\r\n styleUrls: ['./login-panel.component.scss']\r\n})\r\nexport class LoginPanelComponent {\r\n public login: string;\r\n public password: string;\r\n\r\n public constructor(\r\n private readonly authenticationService: AuthenticationService,\r\n private readonly router: Router\r\n ) {\r\n this.login = '';\r\n this.password = '';\r\n }\r\n\r\n public onLogin(): void {\r\n const credentials: UserModel = {\r\n login: this.login,\r\n password: this.password\r\n };\r\n\r\n this.authenticationService.tryLogin(credentials)\r\n .subscribe(() => this.router.navigate(['/']));\r\n }\r\n\r\n}\r\n","export default \"/*!\\n * DAA Example\\n *\\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU General Public License as published by\\n * the Free Software Foundation, either version 3 of the License, or\\n * (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU General Public License for more details.\\n *\\n * You should have received a copy of the GNU General Public License\\n * along with this program. If not, see .\\n */\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9tYWluLXBhbmVsL0M6XFxVc2Vyc1xcTm9lbGlhXFxEZXNrdG9wXFxEQUFcXGRhYWV4YW1wbGVcXHNyY1xcbWFpblxcYW5ndWxhci9zcmNcXGFwcFxcY29tcG9uZW50c1xcbWFpbi1wYW5lbFxcbWFpbi1wYW5lbC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFBQSIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbWFpbi1wYW5lbC9tYWluLXBhbmVsLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXHJcbiAqIERBQSBFeGFtcGxlXHJcbiAqXHJcbiAqIENvcHlyaWdodCAoQykgMjAxOSAtIE1pZ3VlbCBSZWJvaXJvLUphdG8uXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxyXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxyXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcclxuICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cclxuICpcclxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcclxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cclxuICovXHJcbiJdfQ== */\"","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {Component} from '@angular/core';\r\nimport {Observable} from 'rxjs';\r\nimport {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';\r\nimport {map} from 'rxjs/operators';\r\nimport {Router} from '@angular/router';\r\nimport {AuthenticationService} from '../../services/authentication.service';\r\n\r\n@Component({\r\n selector: 'app-main-panel',\r\n templateUrl: './main-panel.component.html',\r\n styleUrls: ['./main-panel.component.scss']\r\n})\r\nexport class MainPanelComponent {\r\n public readonly isHandset$: Observable;\r\n\r\n public constructor(\r\n private readonly authenticationService: AuthenticationService,\r\n private readonly breakpointObserver: BreakpointObserver,\r\n private readonly router: Router\r\n ) {\r\n this.isHandset$ = this.breakpointObserver.observe(Breakpoints.Handset)\r\n .pipe(\r\n map(result => result.matches)\r\n );\r\n }\r\n\r\n public onLogout(): void {\r\n this.authenticationService.logout();\r\n this.router.navigate(['welcome']);\r\n }\r\n}\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {Injectable} from '@angular/core';\r\nimport {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot} from '@angular/router';\r\nimport {Observable} from 'rxjs';\r\nimport {map, tap} from 'rxjs/operators';\r\nimport {AuthenticationService} from '../services/authentication.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticatedGuard implements CanActivate {\r\n public constructor(\r\n private readonly authenticationService: AuthenticationService,\r\n private readonly router: Router\r\n ) {}\r\n\r\n public canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): boolean | Observable {\r\n if (this.authenticationService.isLogged()) {\r\n return true;\r\n } else {\r\n return this.authenticationService.tryLoginWithStoredCredentials()\r\n .pipe(\r\n map(user => user !== null),\r\n tap(isLogged => {\r\n if (!isLogged) {\r\n this.router.navigate(['welcome']);\r\n }\r\n })\r\n );\r\n }\r\n }\r\n}\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {Injectable} from '@angular/core';\r\nimport {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot} from '@angular/router';\r\nimport {map, tap} from 'rxjs/operators';\r\nimport {Observable} from 'rxjs';\r\nimport {AuthenticationService} from '../services/authentication.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UnauthenticatedGuard implements CanActivate {\r\n public constructor(\r\n private readonly authenticationService: AuthenticationService,\r\n private readonly router: Router\r\n ) {}\r\n\r\n public canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): boolean | Observable {\r\n if (this.authenticationService.isLogged()) {\r\n this.router.navigate([]);\r\n return false;\r\n } else {\r\n return this.authenticationService.tryLoginWithStoredCredentials()\r\n .pipe(\r\n map(user => user === null),\r\n tap(isNotLogged => {\r\n if (!isNotLogged) {\r\n this.router.navigate([]);\r\n }\r\n })\r\n );\r\n }\r\n }\r\n}\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\r\nimport {Observable} from 'rxjs';\r\nimport {AuthenticationService} from '../services/authentication.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationInterceptor implements HttpInterceptor {\r\n\r\n public constructor(public authenticationService: AuthenticationService) {\r\n }\r\n\r\n public intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n const user = this.authenticationService.loggedUser;\r\n\r\n if (user !== null) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: 'Basic ' + btoa(user.login + ':' + user.password)\r\n }\r\n });\r\n }\r\n\r\n return next.handle(request);\r\n }\r\n}\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {Injectable} from '@angular/core';\r\nimport {BehaviorSubject, Observable, of} from 'rxjs';\r\nimport {UserModel} from '../models';\r\nimport {HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';\r\nimport {environment} from '../../environments/environment';\r\nimport {catchError, tap} from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationService {\r\n private static readonly USER_STORAGE_KEY = 'user';\r\n\r\n private readonly _loggedUser$: BehaviorSubject;\r\n\r\n private static clearCredentials(): void {\r\n localStorage.removeItem(AuthenticationService.USER_STORAGE_KEY);\r\n }\r\n\r\n private static loadCredentials(): UserModel | null {\r\n const serializedCredentials = localStorage.getItem(AuthenticationService.USER_STORAGE_KEY);\r\n\r\n if (serializedCredentials !== null) {\r\n return JSON.parse(serializedCredentials);\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private static storeCredentials(login: string, password: string): void {\r\n const credentials: UserModel = {login, password};\r\n\r\n localStorage.setItem(AuthenticationService.USER_STORAGE_KEY, JSON.stringify(credentials));\r\n }\r\n\r\n public constructor(\r\n private readonly http: HttpClient\r\n ) {\r\n this._loggedUser$ = new BehaviorSubject(null);\r\n }\r\n\r\n public get loggedUser$(): Observable {\r\n return this._loggedUser$.asObservable();\r\n }\r\n\r\n public get loggedUser(): UserModel | null {\r\n return this._loggedUser$.value;\r\n }\r\n\r\n public isLogged(): boolean {\r\n return this.loggedUser !== null;\r\n }\r\n\r\n public logout(): void {\r\n AuthenticationService.clearCredentials();\r\n this._loggedUser$.next(null);\r\n }\r\n\r\n public tryLoginWithStoredCredentials(): Observable {\r\n const credentials = AuthenticationService.loadCredentials();\r\n\r\n if (credentials !== null) {\r\n return this.tryLogin(credentials);\r\n } else {\r\n return of(null);\r\n }\r\n }\r\n\r\n public tryLogin(login: UserModel): Observable;\r\n public tryLogin(login: string, password: string): Observable;\r\n\r\n public tryLogin(login: string | UserModel, password?: string): Observable {\r\n let userLogin: string;\r\n let userPassword: string;\r\n\r\n if (typeof login === 'string') {\r\n if (password === undefined) {\r\n throw new TypeError('password can\\'t be null when login is string');\r\n }\r\n\r\n userLogin = login;\r\n userPassword = password;\r\n } else {\r\n userLogin = login.login;\r\n userPassword = login.password;\r\n }\r\n AuthenticationService.storeCredentials(userLogin, userPassword);\r\n\r\n const headers = new HttpHeaders()\r\n .set('Authorization', 'Basic ' + btoa(userLogin + ':' + userPassword));\r\n\r\n return this.http.get(`${environment.restApi}/users/${userLogin}`, {\r\n headers: headers\r\n })\r\n .pipe(\r\n tap(user => this._loggedUser$.next({\r\n login: userLogin,\r\n password: userPassword\r\n })),\r\n catchError(error => {\r\n this._loggedUser$.next(null);\r\n throw error;\r\n })\r\n );\r\n }\r\n}\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\n// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n restApi: 'http://localhost:9080/DAAExample/rest'\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":"webpack:///"}
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/main-es5.js b/target/m2e-wtp/web-resources/main-es5.js
deleted file mode 100644
index 452bd882cc1a6595b53de0e24633669522fed20a..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/main-es5.js
+++ /dev/null
@@ -1,1938 +0,0 @@
-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; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["main"], {
- /***/
- "./node_modules/raw-loader/dist/cjs.js!./src/app/app.component.html":
- /*!**************************************************************************!*\
- !*** ./node_modules/raw-loader/dist/cjs.js!./src/app/app.component.html ***!
- \**************************************************************************/
-
- /*! exports provided: default */
-
- /***/
- function node_modulesRawLoaderDistCjsJsSrcAppAppComponentHtml(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */
-
-
- __webpack_exports__["default"] = "\r\n\r\n \r\n";
- /***/
- },
-
- /***/
- "./node_modules/raw-loader/dist/cjs.js!./src/app/components/login-panel/login-panel.component.html":
- /*!*********************************************************************************************************!*\
- !*** ./node_modules/raw-loader/dist/cjs.js!./src/app/components/login-panel/login-panel.component.html ***!
- \*********************************************************************************************************/
-
- /*! exports provided: default */
-
- /***/
- function node_modulesRawLoaderDistCjsJsSrcAppComponentsLoginPanelLoginPanelComponentHtml(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */
-
-
- __webpack_exports__["default"] = "\r\n\r\n\r\n";
- /***/
- },
-
- /***/
- "./node_modules/raw-loader/dist/cjs.js!./src/app/components/main-panel/main-panel.component.html":
- /*!*******************************************************************************************************!*\
- !*** ./node_modules/raw-loader/dist/cjs.js!./src/app/components/main-panel/main-panel.component.html ***!
- \*******************************************************************************************************/
-
- /*! exports provided: default */
-
- /***/
- function node_modulesRawLoaderDistCjsJsSrcAppComponentsMainPanelMainPanelComponentHtml(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */
-
-
- __webpack_exports__["default"] = "\r\n\r\n\r\n\r\n\r\n \r\n
\r\n";
- /***/
- },
-
- /***/
- "./node_modules/tslib/tslib.es6.js":
- /*!*****************************************!*\
- !*** ./node_modules/tslib/tslib.es6.js ***!
- \*****************************************/
-
- /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
-
- /***/
- function node_modulesTslibTslibEs6Js(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__extends", function () {
- return __extends;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__assign", function () {
- return _assign;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__rest", function () {
- return __rest;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__decorate", function () {
- return __decorate;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__param", function () {
- return __param;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__metadata", function () {
- return __metadata;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__awaiter", function () {
- return __awaiter;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__generator", function () {
- return __generator;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__exportStar", function () {
- return __exportStar;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__values", function () {
- return __values;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__read", function () {
- return __read;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__spread", function () {
- return __spread;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__await", function () {
- return __await;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__asyncGenerator", function () {
- return __asyncGenerator;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__asyncDelegator", function () {
- return __asyncDelegator;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__asyncValues", function () {
- return __asyncValues;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function () {
- return __makeTemplateObject;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__importStar", function () {
- return __importStar;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__importDefault", function () {
- return __importDefault;
- });
- /*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
-
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
-
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
- ***************************************************************************** */
-
- /* global Reflect, Promise */
-
-
- var _extendStatics = function extendStatics(d, b) {
- _extendStatics = Object.setPrototypeOf || {
- __proto__: []
- } instanceof Array && function (d, b) {
- d.__proto__ = b;
- } || function (d, b) {
- for (var p in b) {
- if (b.hasOwnProperty(p)) d[p] = b[p];
- }
- };
-
- return _extendStatics(d, b);
- };
-
- function __extends(d, b) {
- _extendStatics(d, b);
-
- function __() {
- this.constructor = d;
- }
-
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- }
-
- var _assign = function __assign() {
- _assign = Object.assign || function __assign(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);
- };
-
- function __rest(s, e) {
- var t = {};
-
- for (var p in s) {
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
- }
-
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
- if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];
- }
- return t;
- }
-
- function __decorate(decorators, target, key, desc) {
- var c = arguments.length,
- r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
- d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {
- if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- }
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- }
-
- function __param(paramIndex, decorator) {
- return function (target, key) {
- decorator(target, key, paramIndex);
- };
- }
-
- function __metadata(metadataKey, metadataValue) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
- }
-
- function __awaiter(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
-
- function rejected(value) {
- try {
- step(generator["throw"](value));
- } catch (e) {
- reject(e);
- }
- }
-
- function step(result) {
- result.done ? resolve(result.value) : new P(function (resolve) {
- resolve(result.value);
- }).then(fulfilled, rejected);
- }
-
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
- }
-
- function __generator(thisArg, body) {
- var _ = {
- label: 0,
- sent: function sent() {
- if (t[0] & 1) throw t[1];
- return t[1];
- },
- trys: [],
- ops: []
- },
- f,
- y,
- t,
- g;
- return g = {
- next: verb(0),
- "throw": verb(1),
- "return": verb(2)
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
- return this;
- }), g;
-
- function verb(n) {
- return function (v) {
- return step([n, v]);
- };
- }
-
- function step(op) {
- if (f) throw new TypeError("Generator is already executing.");
-
- while (_) {
- try {
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
- if (y = 0, t) op = [op[0] & 2, t.value];
-
- switch (op[0]) {
- case 0:
- case 1:
- t = op;
- break;
-
- case 4:
- _.label++;
- return {
- value: op[1],
- done: false
- };
-
- case 5:
- _.label++;
- y = op[1];
- op = [0];
- continue;
-
- case 7:
- op = _.ops.pop();
-
- _.trys.pop();
-
- continue;
-
- default:
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
- _ = 0;
- continue;
- }
-
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
- _.label = op[1];
- break;
- }
-
- if (op[0] === 6 && _.label < t[1]) {
- _.label = t[1];
- t = op;
- break;
- }
-
- if (t && _.label < t[2]) {
- _.label = t[2];
-
- _.ops.push(op);
-
- break;
- }
-
- if (t[2]) _.ops.pop();
-
- _.trys.pop();
-
- continue;
- }
-
- op = body.call(thisArg, _);
- } catch (e) {
- op = [6, e];
- y = 0;
- } finally {
- f = t = 0;
- }
- }
-
- if (op[0] & 5) throw op[1];
- return {
- value: op[0] ? op[1] : void 0,
- done: true
- };
- }
- }
-
- function __exportStar(m, exports) {
- for (var p in m) {
- if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- }
-
- function __values(o) {
- var m = typeof Symbol === "function" && o[Symbol.iterator],
- i = 0;
- if (m) return m.call(o);
- return {
- next: function next() {
- if (o && i >= o.length) o = void 0;
- return {
- value: o && o[i++],
- done: !o
- };
- }
- };
- }
-
- function __read(o, n) {
- var m = typeof Symbol === "function" && o[Symbol.iterator];
- if (!m) return o;
- var i = m.call(o),
- r,
- ar = [],
- e;
-
- try {
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
- ar.push(r.value);
- }
- } catch (error) {
- e = {
- error: error
- };
- } finally {
- try {
- if (r && !r.done && (m = i["return"])) m.call(i);
- } finally {
- if (e) throw e.error;
- }
- }
-
- return ar;
- }
-
- function __spread() {
- for (var ar = [], i = 0; i < arguments.length; i++) {
- ar = ar.concat(__read(arguments[i]));
- }
-
- return ar;
- }
-
- function __await(v) {
- return this instanceof __await ? (this.v = v, this) : new __await(v);
- }
-
- function __asyncGenerator(thisArg, _arguments, generator) {
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
- var g = generator.apply(thisArg, _arguments || []),
- i,
- q = [];
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () {
- return this;
- }, i;
-
- function verb(n) {
- if (g[n]) i[n] = function (v) {
- return new Promise(function (a, b) {
- q.push([n, v, a, b]) > 1 || resume(n, v);
- });
- };
- }
-
- function resume(n, v) {
- try {
- step(g[n](v));
- } catch (e) {
- settle(q[0][3], e);
- }
- }
-
- function step(r) {
- r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
- }
-
- function fulfill(value) {
- resume("next", value);
- }
-
- function reject(value) {
- resume("throw", value);
- }
-
- function settle(f, v) {
- if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
- }
- }
-
- function __asyncDelegator(o) {
- var i, p;
- return i = {}, verb("next"), verb("throw", function (e) {
- throw e;
- }), verb("return"), i[Symbol.iterator] = function () {
- return this;
- }, i;
-
- function verb(n, f) {
- i[n] = o[n] ? function (v) {
- return (p = !p) ? {
- value: __await(o[n](v)),
- done: n === "return"
- } : f ? f(v) : v;
- } : f;
- }
- }
-
- function __asyncValues(o) {
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
- var m = o[Symbol.asyncIterator],
- i;
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () {
- return this;
- }, i);
-
- function verb(n) {
- i[n] = o[n] && function (v) {
- return new Promise(function (resolve, reject) {
- v = o[n](v), settle(resolve, reject, v.done, v.value);
- });
- };
- }
-
- function settle(resolve, reject, d, v) {
- Promise.resolve(v).then(function (v) {
- resolve({
- value: v,
- done: d
- });
- }, reject);
- }
- }
-
- function __makeTemplateObject(cooked, raw) {
- if (Object.defineProperty) {
- Object.defineProperty(cooked, "raw", {
- value: raw
- });
- } else {
- cooked.raw = raw;
- }
-
- return cooked;
- }
-
- ;
-
- function __importStar(mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) {
- if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
- }
- result.default = mod;
- return result;
- }
-
- function __importDefault(mod) {
- return mod && mod.__esModule ? mod : {
- default: mod
- };
- }
- /***/
-
- },
-
- /***/
- "./src/$$_lazy_route_resource lazy recursive":
- /*!**********************************************************!*\
- !*** ./src/$$_lazy_route_resource lazy namespace object ***!
- \**********************************************************/
-
- /*! no static exports found */
-
- /***/
- function src$$_lazy_route_resourceLazyRecursive(module, exports) {
- function webpackEmptyAsyncContext(req) {
- // Here Promise.resolve().then() is used instead of new Promise() to prevent
- // uncaught exception popping up in devtools
- return Promise.resolve().then(function () {
- var e = new Error("Cannot find module '" + req + "'");
- e.code = 'MODULE_NOT_FOUND';
- throw e;
- });
- }
-
- webpackEmptyAsyncContext.keys = function () {
- return [];
- };
-
- webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;
- module.exports = webpackEmptyAsyncContext;
- webpackEmptyAsyncContext.id = "./src/$$_lazy_route_resource lazy recursive";
- /***/
- },
-
- /***/
- "./src/app/app-routing.module.ts":
- /*!***************************************!*\
- !*** ./src/app/app-routing.module.ts ***!
- \***************************************/
-
- /*! exports provided: AppRoutingModule */
-
- /***/
- function srcAppAppRoutingModuleTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "AppRoutingModule", function () {
- return AppRoutingModule;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! @angular/router */
- "./node_modules/@angular/router/fesm2015/router.js");
- /* harmony import */
-
-
- var _guards_unauthenticated_guard__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
- /*! ./guards/unauthenticated.guard */
- "./src/app/guards/unauthenticated.guard.ts");
- /* harmony import */
-
-
- var _guards_authenticated_guard__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
- /*! ./guards/authenticated.guard */
- "./src/app/guards/authenticated.guard.ts");
- /* harmony import */
-
-
- var _components_login_panel_login_panel_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
- /*! ./components/login-panel/login-panel.component */
- "./src/app/components/login-panel/login-panel.component.ts");
- /* harmony import */
-
-
- var _components_main_panel_main_panel_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
- /*! ./components/main-panel/main-panel.component */
- "./src/app/components/main-panel/main-panel.component.ts");
- /*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
- var routes = [{
- path: 'welcome',
- pathMatch: 'full',
- component: _components_login_panel_login_panel_component__WEBPACK_IMPORTED_MODULE_5__["LoginPanelComponent"],
- canActivate: [_guards_unauthenticated_guard__WEBPACK_IMPORTED_MODULE_3__["UnauthenticatedGuard"]]
- }, {
- path: '',
- component: _components_main_panel_main_panel_component__WEBPACK_IMPORTED_MODULE_6__["MainPanelComponent"],
- canActivate: [_guards_authenticated_guard__WEBPACK_IMPORTED_MODULE_4__["AuthenticatedGuard"]],
- children: [{
- path: '',
- redirectTo: 'people',
- pathMatch: 'full'
- }, {
- path: 'people',
- loadChildren: function loadChildren() {
- return __webpack_require__.e(
- /*! import() | modules-people-people-module */
- "modules-people-people-module").then(__webpack_require__.bind(null,
- /*! ./modules/people/people.module */
- "./src/app/modules/people/people.module.ts")).then(function (m) {
- return m.PeopleModule;
- });
- }
- }, {
- path: 'listPets/:person',
- redirectTo: ':person',
- pathMatch: 'full'
- }, {
- path: ':person',
- loadChildren: function loadChildren() {
- return __webpack_require__.e(
- /*! import() | modules-pets-pets-module */
- "modules-pets-pets-module").then(__webpack_require__.bind(null,
- /*! ./modules/pets/pets.module */
- "./src/app/modules/pets/pets.module.ts")).then(function (m) {
- return m.PetsModule;
- });
- }
- }]
- }];
-
- var AppRoutingModule = function AppRoutingModule() {
- _classCallCheck(this, AppRoutingModule);
- };
-
- AppRoutingModule = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
- imports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"].forRoot(routes)],
- exports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"]]
- })], AppRoutingModule);
- /***/
- },
-
- /***/
- "./src/app/app.component.scss":
- /*!************************************!*\
- !*** ./src/app/app.component.scss ***!
- \************************************/
-
- /*! exports provided: default */
-
- /***/
- function srcAppAppComponentScss(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */
-
-
- __webpack_exports__["default"] = "/*!\n * DAA Example\n *\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQzpcXFVzZXJzXFxOb2VsaWFcXERlc2t0b3BcXERBQVxcZGFhZXhhbXBsZVxcc3JjXFxtYWluXFxhbmd1bGFyL3NyY1xcYXBwXFxhcHAuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBQUEiLCJmaWxlIjoic3JjL2FwcC9hcHAuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcclxuICogREFBIEV4YW1wbGVcclxuICpcclxuICogQ29weXJpZ2h0IChDKSAyMDE5IC0gTWlndWVsIFJlYm9pcm8tSmF0by5cclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXHJcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXHJcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxyXG4gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxyXG4gKlxyXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxyXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxyXG4gKi9cclxuXHJcbiJdfQ== */";
- /***/
- },
-
- /***/
- "./src/app/app.component.ts":
- /*!**********************************!*\
- !*** ./src/app/app.component.ts ***!
- \**********************************/
-
- /*! exports provided: AppComponent */
-
- /***/
- function srcAppAppComponentTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "AppComponent", function () {
- return AppComponent;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
- var AppComponent = function AppComponent() {
- _classCallCheck(this, AppComponent);
-
- this.title = 'angular';
- };
-
- AppComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
- selector: 'app-root',
- template: tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(
- /*! raw-loader!./app.component.html */
- "./node_modules/raw-loader/dist/cjs.js!./src/app/app.component.html")).default,
- styles: [tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(
- /*! ./app.component.scss */
- "./src/app/app.component.scss")).default]
- })], AppComponent);
- /***/
- },
-
- /***/
- "./src/app/app.module.ts":
- /*!*******************************!*\
- !*** ./src/app/app.module.ts ***!
- \*******************************/
-
- /*! exports provided: AppModule */
-
- /***/
- function srcAppAppModuleTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "AppModule", function () {
- return AppModule;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/platform-browser */
- "./node_modules/@angular/platform-browser/fesm2015/platform-browser.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var _app_routing_module__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
- /*! ./app-routing.module */
- "./src/app/app-routing.module.ts");
- /* harmony import */
-
-
- var _app_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
- /*! ./app.component */
- "./src/app/app.component.ts");
- /* harmony import */
-
-
- var _components_login_panel_login_panel_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
- /*! ./components/login-panel/login-panel.component */
- "./src/app/components/login-panel/login-panel.component.ts");
- /* harmony import */
-
-
- var _components_main_panel_main_panel_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
- /*! ./components/main-panel/main-panel.component */
- "./src/app/components/main-panel/main-panel.component.ts");
- /* harmony import */
-
-
- var _angular_common_http__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
- /*! @angular/common/http */
- "./node_modules/@angular/common/fesm2015/http.js");
- /* harmony import */
-
-
- var _angular_forms__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(
- /*! @angular/forms */
- "./node_modules/@angular/forms/fesm2015/forms.js");
- /* harmony import */
-
-
- var _angular_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(
- /*! @angular/common */
- "./node_modules/@angular/common/fesm2015/common.js");
- /* harmony import */
-
-
- var _interceptors_authentication_interceptor__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(
- /*! ./interceptors/authentication.interceptor */
- "./src/app/interceptors/authentication.interceptor.ts");
- /*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
- var AppModule = function AppModule() {
- _classCallCheck(this, AppModule);
- };
-
- AppModule = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_2__["NgModule"])({
- declarations: [_app_component__WEBPACK_IMPORTED_MODULE_4__["AppComponent"], _components_login_panel_login_panel_component__WEBPACK_IMPORTED_MODULE_5__["LoginPanelComponent"], _components_main_panel_main_panel_component__WEBPACK_IMPORTED_MODULE_6__["MainPanelComponent"]],
- imports: [_app_routing_module__WEBPACK_IMPORTED_MODULE_3__["AppRoutingModule"], _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__["BrowserModule"], _angular_common__WEBPACK_IMPORTED_MODULE_9__["CommonModule"], _angular_forms__WEBPACK_IMPORTED_MODULE_8__["FormsModule"], _angular_common_http__WEBPACK_IMPORTED_MODULE_7__["HttpClientModule"]],
- providers: [{
- provide: _angular_common_http__WEBPACK_IMPORTED_MODULE_7__["HTTP_INTERCEPTORS"],
- useClass: _interceptors_authentication_interceptor__WEBPACK_IMPORTED_MODULE_10__["AuthenticationInterceptor"],
- multi: true
- }, {
- provide: _angular_common__WEBPACK_IMPORTED_MODULE_9__["LocationStrategy"],
- useClass: _angular_common__WEBPACK_IMPORTED_MODULE_9__["HashLocationStrategy"]
- }],
- bootstrap: [_app_component__WEBPACK_IMPORTED_MODULE_4__["AppComponent"]]
- })], AppModule);
- /***/
- },
-
- /***/
- "./src/app/components/login-panel/login-panel.component.scss":
- /*!*******************************************************************!*\
- !*** ./src/app/components/login-panel/login-panel.component.scss ***!
- \*******************************************************************/
-
- /*! exports provided: default */
-
- /***/
- function srcAppComponentsLoginPanelLoginPanelComponentScss(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */
-
-
- __webpack_exports__["default"] = "/*!\n * DAA Example\n *\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n#container {\n height: 100%;\n width: 100%;\n display: -webkit-box;\n display: flex;\n -ms-flex-align: center;\n -ms-flex-pack: center;\n -webkit-box-align: center;\n align-items: center;\n -webkit-box-pack: center;\n justify-content: center;\n padding-top: 40px;\n padding-bottom: 40px;\n}\n.form-signin {\n width: 100%;\n max-width: 330px;\n padding: 15px;\n margin: 0 auto;\n}\n.form-signin .form-control {\n position: relative;\n box-sizing: border-box;\n height: auto;\n padding: 10px;\n font-size: 16px;\n}\n.form-signin .form-control:focus {\n z-index: 2;\n}\n#login {\n margin-bottom: -1px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n#password {\n margin-bottom: 10px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9sb2dpbi1wYW5lbC9DOlxcVXNlcnNcXE5vZWxpYVxcRGVza3RvcFxcREFBXFxkYWFleGFtcGxlXFxzcmNcXG1haW5cXGFuZ3VsYXIvc3JjXFxhcHBcXGNvbXBvbmVudHNcXGxvZ2luLXBhbmVsXFxsb2dpbi1wYW5lbC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvY29tcG9uZW50cy9sb2dpbi1wYW5lbC9sb2dpbi1wYW5lbC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFBQTtBQW1CQTtFQUNFLFlBQUE7RUFDQSxXQUFBO0VBRUEsb0JBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxxQkFBQTtFQUNBLHlCQUFBO0VBQ0EsbUJBQUE7RUFDQSx3QkFBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtBQ0FGO0FER0E7RUFDRSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtBQ0FGO0FER0E7RUFDRSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxlQUFBO0FDQUY7QURHQTtFQUNFLFVBQUE7QUNBRjtBREdBO0VBQ0UsbUJBQUE7RUFDQSw2QkFBQTtFQUNBLDRCQUFBO0FDQUY7QURHQTtFQUNFLG1CQUFBO0VBQ0EseUJBQUE7RUFDQSwwQkFBQTtBQ0FGIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9sb2dpbi1wYW5lbC9sb2dpbi1wYW5lbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBEQUEgRXhhbXBsZVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTkgLSBNaWd1ZWwgUmVib2lyby1KYXRvLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXHJcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqL1xyXG5cclxuI2NvbnRhaW5lciB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XHJcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBwYWRkaW5nLXRvcDogNDBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxufVxyXG5cclxuLmZvcm0tc2lnbmluIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDMzMHB4O1xyXG4gIHBhZGRpbmc6IDE1cHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5mb3JtLXNpZ25pbiAuZm9ybS1jb250cm9sIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi5mb3JtLXNpZ25pbiAuZm9ybS1jb250cm9sOmZvY3VzIHtcclxuICB6LWluZGV4OiAyO1xyXG59XHJcblxyXG4jbG9naW4ge1xyXG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxufVxyXG5cclxuI3Bhc3N3b3JkIHtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XHJcbn1cclxuIiwiLyohXG4gKiBEQUEgRXhhbXBsZVxuICpcbiAqIENvcHlyaWdodCAoQykgMjAxOSAtIE1pZ3VlbCBSZWJvaXJvLUphdG8uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cbiNjb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xufVxuXG4uZm9ybS1zaWduaW4ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzMzBweDtcbiAgcGFkZGluZzogMTVweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5mb3JtLXNpZ25pbiAuZm9ybS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmZvcm0tc2lnbmluIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICB6LWluZGV4OiAyO1xufVxuXG4jbG9naW4ge1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cblxuI3Bhc3N3b3JkIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59Il19 */";
- /***/
- },
-
- /***/
- "./src/app/components/login-panel/login-panel.component.ts":
- /*!*****************************************************************!*\
- !*** ./src/app/components/login-panel/login-panel.component.ts ***!
- \*****************************************************************/
-
- /*! exports provided: LoginPanelComponent */
-
- /***/
- function srcAppComponentsLoginPanelLoginPanelComponentTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "LoginPanelComponent", function () {
- return LoginPanelComponent;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! @angular/router */
- "./node_modules/@angular/router/fesm2015/router.js");
- /* harmony import */
-
-
- var _services_authentication_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
- /*! ../../services/authentication.service */
- "./src/app/services/authentication.service.ts");
- /*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
- var LoginPanelComponent =
- /*#__PURE__*/
- function () {
- function LoginPanelComponent(authenticationService, router) {
- _classCallCheck(this, LoginPanelComponent);
-
- this.authenticationService = authenticationService;
- this.router = router;
- this.login = '';
- this.password = '';
- }
-
- _createClass(LoginPanelComponent, [{
- key: "onLogin",
- value: function onLogin() {
- var _this = this;
-
- var credentials = {
- login: this.login,
- password: this.password
- };
- this.authenticationService.tryLogin(credentials).subscribe(function () {
- return _this.router.navigate(['/']);
- });
- }
- }]);
-
- return LoginPanelComponent;
- }();
-
- LoginPanelComponent.ctorParameters = function () {
- return [{
- type: _services_authentication_service__WEBPACK_IMPORTED_MODULE_3__["AuthenticationService"]
- }, {
- type: _angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"]
- }];
- };
-
- LoginPanelComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
- selector: 'app-login-panel',
- template: tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(
- /*! raw-loader!./login-panel.component.html */
- "./node_modules/raw-loader/dist/cjs.js!./src/app/components/login-panel/login-panel.component.html")).default,
- styles: [tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(
- /*! ./login-panel.component.scss */
- "./src/app/components/login-panel/login-panel.component.scss")).default]
- }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_services_authentication_service__WEBPACK_IMPORTED_MODULE_3__["AuthenticationService"], _angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"]])], LoginPanelComponent);
- /***/
- },
-
- /***/
- "./src/app/components/main-panel/main-panel.component.scss":
- /*!*****************************************************************!*\
- !*** ./src/app/components/main-panel/main-panel.component.scss ***!
- \*****************************************************************/
-
- /*! exports provided: default */
-
- /***/
- function srcAppComponentsMainPanelMainPanelComponentScss(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */
-
-
- __webpack_exports__["default"] = "/*!\n * DAA Example\n *\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9tYWluLXBhbmVsL0M6XFxVc2Vyc1xcTm9lbGlhXFxEZXNrdG9wXFxEQUFcXGRhYWV4YW1wbGVcXHNyY1xcbWFpblxcYW5ndWxhci9zcmNcXGFwcFxcY29tcG9uZW50c1xcbWFpbi1wYW5lbFxcbWFpbi1wYW5lbC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFBQSIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbWFpbi1wYW5lbC9tYWluLXBhbmVsLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXHJcbiAqIERBQSBFeGFtcGxlXHJcbiAqXHJcbiAqIENvcHlyaWdodCAoQykgMjAxOSAtIE1pZ3VlbCBSZWJvaXJvLUphdG8uXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxyXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxyXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcclxuICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cclxuICpcclxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcclxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cclxuICovXHJcbiJdfQ== */";
- /***/
- },
-
- /***/
- "./src/app/components/main-panel/main-panel.component.ts":
- /*!***************************************************************!*\
- !*** ./src/app/components/main-panel/main-panel.component.ts ***!
- \***************************************************************/
-
- /*! exports provided: MainPanelComponent */
-
- /***/
- function srcAppComponentsMainPanelMainPanelComponentTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "MainPanelComponent", function () {
- return MainPanelComponent;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var _angular_cdk_layout__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! @angular/cdk/layout */
- "./node_modules/@angular/cdk/esm2015/layout.js");
- /* harmony import */
-
-
- var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
- /*! rxjs/operators */
- "./node_modules/rxjs/_esm2015/operators/index.js");
- /* harmony import */
-
-
- var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
- /*! @angular/router */
- "./node_modules/@angular/router/fesm2015/router.js");
- /* harmony import */
-
-
- var _services_authentication_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
- /*! ../../services/authentication.service */
- "./src/app/services/authentication.service.ts");
- /*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
- var MainPanelComponent =
- /*#__PURE__*/
- function () {
- function MainPanelComponent(authenticationService, breakpointObserver, router) {
- _classCallCheck(this, MainPanelComponent);
-
- this.authenticationService = authenticationService;
- this.breakpointObserver = breakpointObserver;
- this.router = router;
- this.isHandset$ = this.breakpointObserver.observe(_angular_cdk_layout__WEBPACK_IMPORTED_MODULE_2__["Breakpoints"].Handset).pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["map"])(function (result) {
- return result.matches;
- }));
- }
-
- _createClass(MainPanelComponent, [{
- key: "onLogout",
- value: function onLogout() {
- this.authenticationService.logout();
- this.router.navigate(['welcome']);
- }
- }]);
-
- return MainPanelComponent;
- }();
-
- MainPanelComponent.ctorParameters = function () {
- return [{
- type: _services_authentication_service__WEBPACK_IMPORTED_MODULE_5__["AuthenticationService"]
- }, {
- type: _angular_cdk_layout__WEBPACK_IMPORTED_MODULE_2__["BreakpointObserver"]
- }, {
- type: _angular_router__WEBPACK_IMPORTED_MODULE_4__["Router"]
- }];
- };
-
- MainPanelComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
- selector: 'app-main-panel',
- template: tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(
- /*! raw-loader!./main-panel.component.html */
- "./node_modules/raw-loader/dist/cjs.js!./src/app/components/main-panel/main-panel.component.html")).default,
- styles: [tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(
- /*! ./main-panel.component.scss */
- "./src/app/components/main-panel/main-panel.component.scss")).default]
- }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_services_authentication_service__WEBPACK_IMPORTED_MODULE_5__["AuthenticationService"], _angular_cdk_layout__WEBPACK_IMPORTED_MODULE_2__["BreakpointObserver"], _angular_router__WEBPACK_IMPORTED_MODULE_4__["Router"]])], MainPanelComponent);
- /***/
- },
-
- /***/
- "./src/app/guards/authenticated.guard.ts":
- /*!***********************************************!*\
- !*** ./src/app/guards/authenticated.guard.ts ***!
- \***********************************************/
-
- /*! exports provided: AuthenticatedGuard */
-
- /***/
- function srcAppGuardsAuthenticatedGuardTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "AuthenticatedGuard", function () {
- return AuthenticatedGuard;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! @angular/router */
- "./node_modules/@angular/router/fesm2015/router.js");
- /* harmony import */
-
-
- var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
- /*! rxjs/operators */
- "./node_modules/rxjs/_esm2015/operators/index.js");
- /* harmony import */
-
-
- var _services_authentication_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
- /*! ../services/authentication.service */
- "./src/app/services/authentication.service.ts");
- /*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
- var AuthenticatedGuard =
- /*#__PURE__*/
- function () {
- function AuthenticatedGuard(authenticationService, router) {
- _classCallCheck(this, AuthenticatedGuard);
-
- this.authenticationService = authenticationService;
- this.router = router;
- }
-
- _createClass(AuthenticatedGuard, [{
- key: "canActivate",
- value: function canActivate(next, state) {
- var _this2 = this;
-
- if (this.authenticationService.isLogged()) {
- return true;
- } else {
- return this.authenticationService.tryLoginWithStoredCredentials().pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["map"])(function (user) {
- return user !== null;
- }), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["tap"])(function (isLogged) {
- if (!isLogged) {
- _this2.router.navigate(['welcome']);
- }
- }));
- }
- }
- }]);
-
- return AuthenticatedGuard;
- }();
-
- AuthenticatedGuard.ctorParameters = function () {
- return [{
- type: _services_authentication_service__WEBPACK_IMPORTED_MODULE_4__["AuthenticationService"]
- }, {
- type: _angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"]
- }];
- };
-
- AuthenticatedGuard = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({
- providedIn: 'root'
- }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_services_authentication_service__WEBPACK_IMPORTED_MODULE_4__["AuthenticationService"], _angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"]])], AuthenticatedGuard);
- /***/
- },
-
- /***/
- "./src/app/guards/unauthenticated.guard.ts":
- /*!*************************************************!*\
- !*** ./src/app/guards/unauthenticated.guard.ts ***!
- \*************************************************/
-
- /*! exports provided: UnauthenticatedGuard */
-
- /***/
- function srcAppGuardsUnauthenticatedGuardTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "UnauthenticatedGuard", function () {
- return UnauthenticatedGuard;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! @angular/router */
- "./node_modules/@angular/router/fesm2015/router.js");
- /* harmony import */
-
-
- var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
- /*! rxjs/operators */
- "./node_modules/rxjs/_esm2015/operators/index.js");
- /* harmony import */
-
-
- var _services_authentication_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
- /*! ../services/authentication.service */
- "./src/app/services/authentication.service.ts");
- /*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
- var UnauthenticatedGuard =
- /*#__PURE__*/
- function () {
- function UnauthenticatedGuard(authenticationService, router) {
- _classCallCheck(this, UnauthenticatedGuard);
-
- this.authenticationService = authenticationService;
- this.router = router;
- }
-
- _createClass(UnauthenticatedGuard, [{
- key: "canActivate",
- value: function canActivate(next, state) {
- var _this3 = this;
-
- if (this.authenticationService.isLogged()) {
- this.router.navigate([]);
- return false;
- } else {
- return this.authenticationService.tryLoginWithStoredCredentials().pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["map"])(function (user) {
- return user === null;
- }), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["tap"])(function (isNotLogged) {
- if (!isNotLogged) {
- _this3.router.navigate([]);
- }
- }));
- }
- }
- }]);
-
- return UnauthenticatedGuard;
- }();
-
- UnauthenticatedGuard.ctorParameters = function () {
- return [{
- type: _services_authentication_service__WEBPACK_IMPORTED_MODULE_4__["AuthenticationService"]
- }, {
- type: _angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"]
- }];
- };
-
- UnauthenticatedGuard = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({
- providedIn: 'root'
- }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_services_authentication_service__WEBPACK_IMPORTED_MODULE_4__["AuthenticationService"], _angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"]])], UnauthenticatedGuard);
- /***/
- },
-
- /***/
- "./src/app/interceptors/authentication.interceptor.ts":
- /*!************************************************************!*\
- !*** ./src/app/interceptors/authentication.interceptor.ts ***!
- \************************************************************/
-
- /*! exports provided: AuthenticationInterceptor */
-
- /***/
- function srcAppInterceptorsAuthenticationInterceptorTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "AuthenticationInterceptor", function () {
- return AuthenticationInterceptor;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var _services_authentication_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! ../services/authentication.service */
- "./src/app/services/authentication.service.ts");
- /*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
- var AuthenticationInterceptor =
- /*#__PURE__*/
- function () {
- function AuthenticationInterceptor(authenticationService) {
- _classCallCheck(this, AuthenticationInterceptor);
-
- this.authenticationService = authenticationService;
- }
-
- _createClass(AuthenticationInterceptor, [{
- key: "intercept",
- value: function intercept(request, next) {
- var user = this.authenticationService.loggedUser;
-
- if (user !== null) {
- request = request.clone({
- setHeaders: {
- Authorization: 'Basic ' + btoa(user.login + ':' + user.password)
- }
- });
- }
-
- return next.handle(request);
- }
- }]);
-
- return AuthenticationInterceptor;
- }();
-
- AuthenticationInterceptor.ctorParameters = function () {
- return [{
- type: _services_authentication_service__WEBPACK_IMPORTED_MODULE_2__["AuthenticationService"]
- }];
- };
-
- AuthenticationInterceptor = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({
- providedIn: 'root'
- }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_services_authentication_service__WEBPACK_IMPORTED_MODULE_2__["AuthenticationService"]])], AuthenticationInterceptor);
- /***/
- },
-
- /***/
- "./src/app/services/authentication.service.ts":
- /*!****************************************************!*\
- !*** ./src/app/services/authentication.service.ts ***!
- \****************************************************/
-
- /*! exports provided: AuthenticationService */
-
- /***/
- function srcAppServicesAuthenticationServiceTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "AuthenticationService", function () {
- return AuthenticationService;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! rxjs */
- "./node_modules/rxjs/_esm2015/index.js");
- /* harmony import */
-
-
- var _angular_common_http__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
- /*! @angular/common/http */
- "./node_modules/@angular/common/fesm2015/http.js");
- /* harmony import */
-
-
- var _environments_environment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
- /*! ../../environments/environment */
- "./src/environments/environment.ts");
- /* harmony import */
-
-
- var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
- /*! rxjs/operators */
- "./node_modules/rxjs/_esm2015/operators/index.js");
- /*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
- var AuthenticationService_1;
-
- var AuthenticationService = AuthenticationService_1 =
- /*#__PURE__*/
- function () {
- function AuthenticationService(http) {
- _classCallCheck(this, AuthenticationService);
-
- this.http = http;
- this._loggedUser$ = new rxjs__WEBPACK_IMPORTED_MODULE_2__["BehaviorSubject"](null);
- }
-
- _createClass(AuthenticationService, [{
- key: "isLogged",
- value: function isLogged() {
- return this.loggedUser !== null;
- }
- }, {
- key: "logout",
- value: function logout() {
- AuthenticationService_1.clearCredentials();
-
- this._loggedUser$.next(null);
- }
- }, {
- key: "tryLoginWithStoredCredentials",
- value: function tryLoginWithStoredCredentials() {
- var credentials = AuthenticationService_1.loadCredentials();
-
- if (credentials !== null) {
- return this.tryLogin(credentials);
- } else {
- return Object(rxjs__WEBPACK_IMPORTED_MODULE_2__["of"])(null);
- }
- }
- }, {
- key: "tryLogin",
- value: function tryLogin(login, password) {
- var _this4 = this;
-
- var userLogin;
- var userPassword;
-
- if (typeof login === 'string') {
- if (password === undefined) {
- throw new TypeError('password can\'t be null when login is string');
- }
-
- userLogin = login;
- userPassword = password;
- } else {
- userLogin = login.login;
- userPassword = login.password;
- }
-
- AuthenticationService_1.storeCredentials(userLogin, userPassword);
- var headers = new _angular_common_http__WEBPACK_IMPORTED_MODULE_3__["HttpHeaders"]().set('Authorization', 'Basic ' + btoa(userLogin + ':' + userPassword));
- return this.http.get("".concat(_environments_environment__WEBPACK_IMPORTED_MODULE_4__["environment"].restApi, "/users/").concat(userLogin), {
- headers: headers
- }).pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_5__["tap"])(function (user) {
- return _this4._loggedUser$.next({
- login: userLogin,
- password: userPassword
- });
- }), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_5__["catchError"])(function (error) {
- _this4._loggedUser$.next(null);
-
- throw error;
- }));
- }
- }, {
- key: "loggedUser$",
- get: function get() {
- return this._loggedUser$.asObservable();
- }
- }, {
- key: "loggedUser",
- get: function get() {
- return this._loggedUser$.value;
- }
- }], [{
- key: "clearCredentials",
- value: function clearCredentials() {
- localStorage.removeItem(AuthenticationService_1.USER_STORAGE_KEY);
- }
- }, {
- key: "loadCredentials",
- value: function loadCredentials() {
- var serializedCredentials = localStorage.getItem(AuthenticationService_1.USER_STORAGE_KEY);
-
- if (serializedCredentials !== null) {
- return JSON.parse(serializedCredentials);
- } else {
- return null;
- }
- }
- }, {
- key: "storeCredentials",
- value: function storeCredentials(login, password) {
- var credentials = {
- login: login,
- password: password
- };
- localStorage.setItem(AuthenticationService_1.USER_STORAGE_KEY, JSON.stringify(credentials));
- }
- }]);
-
- return AuthenticationService;
- }();
-
- AuthenticationService.USER_STORAGE_KEY = 'user';
-
- AuthenticationService.ctorParameters = function () {
- return [{
- type: _angular_common_http__WEBPACK_IMPORTED_MODULE_3__["HttpClient"]
- }];
- };
-
- AuthenticationService = AuthenticationService_1 = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({
- providedIn: 'root'
- }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_common_http__WEBPACK_IMPORTED_MODULE_3__["HttpClient"]])], AuthenticationService);
- /***/
- },
-
- /***/
- "./src/environments/environment.ts":
- /*!*****************************************!*\
- !*** ./src/environments/environment.ts ***!
- \*****************************************/
-
- /*! exports provided: environment */
-
- /***/
- function srcEnvironmentsEnvironmentTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "environment", function () {
- return environment;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
- // This file can be replaced during build by using the `fileReplacements` array.
- // `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
- // The list of file replacements can be found in `angular.json`.
-
-
- var environment = {
- production: false,
- restApi: 'http://localhost:9080/DAAExample/rest'
- };
- /*
- * For easier debugging in development mode, you can import the following file
- * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
- *
- * This import should be commented out in production mode because it will have a negative impact
- * on performance if an error is thrown.
- */
- // import 'zone.js/dist/zone-error'; // Included with Angular CLI.
-
- /***/
- },
-
- /***/
- "./src/main.ts":
- /*!*********************!*\
- !*** ./src/main.ts ***!
- \*********************/
-
- /*! no exports provided */
-
- /***/
- function srcMainTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var _angular_platform_browser_dynamic__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! @angular/platform-browser-dynamic */
- "./node_modules/@angular/platform-browser-dynamic/fesm2015/platform-browser-dynamic.js");
- /* harmony import */
-
-
- var _app_app_module__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
- /*! ./app/app.module */
- "./src/app/app.module.ts");
- /* harmony import */
-
-
- var _environments_environment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
- /*! ./environments/environment */
- "./src/environments/environment.ts");
- /*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
- if (_environments_environment__WEBPACK_IMPORTED_MODULE_4__["environment"].production) {
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["enableProdMode"])();
- }
-
- Object(_angular_platform_browser_dynamic__WEBPACK_IMPORTED_MODULE_2__["platformBrowserDynamic"])().bootstrapModule(_app_app_module__WEBPACK_IMPORTED_MODULE_3__["AppModule"]).catch(function (err) {
- return console.error(err);
- });
- /***/
- },
-
- /***/
- 0:
- /*!***************************!*\
- !*** multi ./src/main.ts ***!
- \***************************/
-
- /*! no static exports found */
-
- /***/
- function _(module, exports, __webpack_require__) {
- module.exports = __webpack_require__(
- /*! C:\Users\Noelia\Desktop\DAA\daaexample\src\main\angular\src\main.ts */
- "./src/main.ts");
- /***/
- }
-}, [[0, "runtime", "vendor"]]]);
-//# sourceMappingURL=main-es5.js.map
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/main-es5.js.map b/target/m2e-wtp/web-resources/main-es5.js.map
deleted file mode 100644
index 169aa30574098075b70202e311151e22e865a6ab..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/main-es5.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["src/app/app.component.html","src/app/components/login-panel/login-panel.component.html","src/app/components/main-panel/main-panel.component.html","node_modules/tslib/tslib.es6.js","src/$_lazy_route_resource lazy namespace object","src/app/app-routing.module.ts","src/app/app.component.scss","src/app/app.component.ts","src/app/app.module.ts","src/app/components/login-panel/login-panel.component.scss","src/app/components/login-panel/login-panel.component.ts","src/app/components/main-panel/main-panel.component.scss","src/app/components/main-panel/main-panel.component.ts","src/app/guards/authenticated.guard.ts","src/app/guards/unauthenticated.guard.ts","src/app/interceptors/authentication.interceptor.ts","src/app/services/authentication.service.ts","src/environments/environment.ts","src/main.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAe;;;AAAA,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,g0BAAA;;;;;;;;;;;;;;;;ACAf,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAe;;;AAAA,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,k/CAAA;;;;;;;;;;;;;;;;ACAf,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAe;;;AAAA,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,owCAAA;;;;;;;;;;;;;;;;ACAf,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,WAAA,EAAA,YAAA;AAAA,aAAA,SAAA;AAAA,KAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,UAAA,EAAA,YAAA;AAAA,aAAA,OAAA;AAAA,KAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,YAAA;AAAA,aAAA,MAAA;AAAA,KAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,YAAA,EAAA,YAAA;AAAA,aAAA,UAAA;AAAA,KAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,SAAA,EAAA,YAAA;AAAA,aAAA,OAAA;AAAA,KAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,YAAA,EAAA,YAAA;AAAA,aAAA,UAAA;AAAA,KAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,WAAA,EAAA,YAAA;AAAA,aAAA,SAAA;AAAA,KAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,aAAA,EAAA,YAAA;AAAA,aAAA,WAAA;AAAA,KAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,cAAA,EAAA,YAAA;AAAA,aAAA,YAAA;AAAA,KAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,UAAA,EAAA,YAAA;AAAA,aAAA,QAAA;AAAA,KAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,YAAA;AAAA,aAAA,MAAA;AAAA,KAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,UAAA,EAAA,YAAA;AAAA,aAAA,QAAA;AAAA,KAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,SAAA,EAAA,YAAA;AAAA,aAAA,OAAA;AAAA,KAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,kBAAA,EAAA,YAAA;AAAA,aAAA,gBAAA;AAAA,KAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,kBAAA,EAAA,YAAA;AAAA,aAAA,gBAAA;AAAA,KAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,eAAA,EAAA,YAAA;AAAA,aAAA,aAAA;AAAA,KAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,sBAAA,EAAA,YAAA;AAAA,aAAA,oBAAA;AAAA,KAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,cAAA,EAAA,YAAA;AAAA,aAAA,YAAA;AAAA,KAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,iBAAA,EAAA,YAAA;AAAA,aAAA,eAAA;AAAA,KAAA;AAAA;;;;;;;;;;;;;;;AAcA;;;AAEA,QAAA,cAAA,GAAA,uBAAA,CAAA,EAAA,CAAA,EAAA;AACA,MAAA,cAAA,GAAA,MAAA,CAAA,cAAA,IACA;AAAU,QAAA,SAAA,EAAA;AAAV,mBAA0B,KAA1B,IAA0B,UAAA,CAAA,EAAA,CAAA,EAAA;AAAsC,QAAA,CAAA,CAAA,SAAA,GAAA,CAAA;AAAmB,OADnF,IAEA,UAAA,CAAA,EAAA,CAAA,EAAA;AAAyB,aAAA,IAAA,CAAA,IAAA,CAAA;AAAA,cAAA,CAAA,CAAA,cAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA;AAAuD,OAFhF;;AAGA,aAAA,cAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AACA,KALA;;AAOO,aAAA,SAAA,CAAA,CAAA,EAAA,CAAA,EAAA;AACP,MAAA,cAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;AACA,eAAA,EAAA,GAAA;AAAmB,aAAA,WAAA,GAAA,CAAA;AAAsB;;AACzC,MAAA,CAAA,CAAA,SAAA,GAAA,CAAA,KAAA,IAAA,GAAA,MAAA,CAAA,MAAA,CAAA,CAAA,CAAA,IAAA,EAAA,CAAA,SAAA,GAAA,CAAA,CAAA,SAAA,EAAA,IAAA,EAAA,EAAA,CAAA;AACA;;AAEO,QAAA,OAAA,GAAA,oBAAA;AACP,MAAA,OAAA,GAAA,MAAA,CAAA,MAAA,IAAA,SAAA,QAAA,CAAA,CAAA,EAAA;AACA,aAAA,IAAA,CAAA,EAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,SAAA,CAAA,MAAA,EAAgD,CAAA,GAAA,CAAhD,EAAuD,CAAA,EAAvD,EAAuD;AACvD,UAAA,CAAA,GAAA,SAAA,CAAA,CAAA,CAAA;;AACA,eAAA,IAAA,CAAA,IAAA,CAAA;AAAA,gBAAA,MAAA,CAAA,SAAA,CAAA,cAAA,CAAA,IAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA;AACA;;AACA,eAAA,CAAA;AACA,OANA;;AAOA,aAAA,OAAA,CAAA,KAAA,CAAA,IAAA,EAAA,SAAA,CAAA;AACA,KATO;;AAWA,aAAA,MAAA,CAAA,CAAA,EAAA,CAAA,EAAA;AACP,UAAA,CAAA,GAAA,EAAA;;AACA,WAAA,IAAA,CAAA,IAAA,CAAA;AAAA,YAAA,MAAA,CAAA,SAAA,CAAA,cAAA,CAAA,IAAA,CAAA,CAAA,EAAA,CAAA,KAAA,CAAA,CAAA,OAAA,CAAA,CAAA,IAAA,CAAA,EACA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AADA;;AAEA,UAAA,CAAA,IAAA,IAAA,IAAA,OAAA,MAAA,CAAA,qBAAA,KAAA,UAAA,EACA,KAAA,IAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,MAAA,CAAA,qBAAA,CAAA,CAAA,CAAA,EAA4D,CAAA,GAAA,CAAA,CAAA,MAA5D,EAA0E,CAAA,EAA1E;AAA0E,YAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,EAC1E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AADA;AAEA,aAAA,CAAA;AACA;;AAEO,aAAA,UAAA,CAAA,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,IAAA,EAAA;AACP,UAAA,CAAA,GAAA,SAAA,CAAA,MAAA;AAAA,UAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,MAAA,GAAA,IAAA,KAAA,IAAA,GAAA,IAAA,GAAA,MAAA,CAAA,wBAAA,CAAA,MAAA,EAAA,GAAA,CAAA,GAAA,IAAA;AAAA,UAAA,CAAA;AACA,UAAA,OAAA,OAAA,KAAA,QAAA,IAAA,OAAA,OAAA,CAAA,QAAA,KAAA,UAAA,EAAA,CAAA,GAAA,OAAA,CAAA,QAAA,CAAA,UAAA,EAAA,MAAA,EAAA,GAAA,EAAA,IAAA,CAAA,CAAA,KACA,KAAA,IAAA,CAAA,GAAA,UAAA,CAAA,MAAA,GAAA,CAAA,EAA4C,CAAA,IAAA,CAA5C,EAAoD,CAAA,EAApD;AAAoD,YAAA,CAAA,GAAA,UAAA,CAAA,CAAA,CAAA,EAAA,CAAA,GAAA,CAAA,CAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,CAAA,MAAA,EAAA,GAAA,EAAA,CAAA,CAAA,GAAA,CAAA,CAAA,MAAA,EAAA,GAAA,CAAA,KAAA,CAAA;AAApD;AACA,aAAA,CAAA,GAAA,CAAA,IAAA,CAAA,IAAA,MAAA,CAAA,cAAA,CAAA,MAAA,EAAA,GAAA,EAAA,CAAA,CAAA,EAAA,CAAA;AACA;;AAEO,aAAA,OAAA,CAAA,UAAA,EAAA,SAAA,EAAA;AACP,aAAA,UAAA,MAAA,EAAA,GAAA,EAAA;AAAmC,QAAA,SAAA,CAAA,MAAA,EAAA,GAAA,EAAA,UAAA,CAAA;AAAoC,OAAvE;AACA;;AAEO,aAAA,UAAA,CAAA,WAAA,EAAA,aAAA,EAAA;AACP,UAAA,OAAA,OAAA,KAAA,QAAA,IAAA,OAAA,OAAA,CAAA,QAAA,KAAA,UAAA,EAAA,OAAA,OAAA,CAAA,QAAA,CAAA,WAAA,EAAA,aAAA,CAAA;AACA;;AAEO,aAAA,SAAA,CAAA,OAAA,EAAA,UAAA,EAAA,CAAA,EAAA,SAAA,EAAA;AACP,aAAA,KAAA,CAAA,KAAA,CAAA,GAAA,OAAA,CAAA,EAAA,UAAA,OAAA,EAAA,MAAA,EAAA;AACA,iBAAA,SAAA,CAAA,KAAA,EAAA;AAAmC,cAAA;AAAM,YAAA,IAAA,CAAA,SAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AAA+B,WAArC,CAAqC,OAAA,CAAA,EAAA;AAAY,YAAA,MAAA,CAAA,CAAA,CAAA;AAAa;AAAA;;AACjG,iBAAA,QAAA,CAAA,KAAA,EAAA;AAAkC,cAAA;AAAM,YAAA,IAAA,CAAA,SAAA,CAAA,OAAA,CAAA,CAAA,KAAA,CAAA,CAAA;AAAmC,WAAzC,CAAyC,OAAA,CAAA,EAAA;AAAY,YAAA,MAAA,CAAA,CAAA,CAAA;AAAa;AAAA;;AACpG,iBAAA,IAAA,CAAA,MAAA,EAAA;AAA+B,UAAA,MAAA,CAAA,IAAA,GAAA,OAAA,CAAA,MAAA,CAAA,KAAA,CAAA,GAAA,IAAA,CAAA,CAAA,UAAA,OAAA,EAAA;AAAiE,YAAA,OAAA,CAAA,MAAA,CAAA,KAAA,CAAA;AAAyB,WAA1F,EAA0F,IAA1F,CAA0F,SAA1F,EAA0F,QAA1F,CAAA;AAAsH;;AACrJ,QAAA,IAAA,CAAA,CAAA,SAAA,GAAA,SAAA,CAAA,KAAA,CAAA,OAAA,EAAA,UAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA;AACK,OALL,CAAA;AAMA;;AAEO,aAAA,WAAA,CAAA,OAAA,EAAA,IAAA,EAAA;AACP,UAAA,CAAA,GAAA;AAAa,QAAA,KAAA,EAAA,CAAb;AAAa,QAAA,IAAA,EAAA,gBAAA;AAA6B,cAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAA0B,iBAAA,CAAA,CAAA,CAAA,CAAA;AAAe,SAAnF;AAAmF,QAAA,IAAA,EAAA,EAAnF;AAAmF,QAAA,GAAA,EAAA;AAAnF,OAAA;AAAA,UAAwG,CAAxG;AAAA,UAAwG,CAAxG;AAAA,UAAwG,CAAxG;AAAA,UAAwG,CAAxG;AACA,aAAA,CAAA,GAAA;AAAgB,QAAA,IAAA,EAAA,IAAA,CAAA,CAAA,CAAhB;AAAgB,iBAAA,IAAA,CAAA,CAAA,CAAhB;AAAgB,kBAAA,IAAA,CAAA,CAAA;AAAhB,OAAA,EAAqE,OAAA,MAAA,KAAA,UAAA,KAAA,CAAA,CAAA,MAAA,CAAA,QAAA,CAAA,GAAA,YAAA;AAAoE,eAAA,IAAA;AAAe,OAAnF,CAArE,EAAwJ,CAAxJ;;AACA,eAAA,IAAA,CAAA,CAAA,EAAA;AAAsB,eAAA,UAAA,CAAA,EAAA;AAAsB,iBAAA,IAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AAAqB,SAA3C;AAA8C;;AACpE,eAAA,IAAA,CAAA,EAAA,EAAA;AACA,YAAA,CAAA,EAAA,MAAA,IAAA,SAAA,CAAA,iCAAA,CAAA;;AACA,eAAA,CAAA;AAAA,cAAA;AACA,gBAAA,CAAA,GAAA,CAAA,EAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,CAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA,GAAA,CAAA,CAAA,QAAA,CAAA,KAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,GAAA,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,IAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,IAAA,EAAA,OAAA,CAAA;AACA,gBAAA,CAAA,GAAA,CAAA,EAAA,CAAA,EAAA,EAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,KAAA,CAAA;;AACA,oBAAA,EAAA,CAAA,CAAA,CAAA;AACA,mBAAA,CAAA;AAAA,mBAAA,CAAA;AAAA,gBAAA,CAAA,GAAA,EAAA;AAAuC;;AACvC,mBAAA,CAAA;AAAA,gBAAA,CAAA,CAAA,KAAA;AAAkC,uBAAA;AAAS,kBAAA,KAAA,EAAA,EAAA,CAAA,CAAA,CAAT;AAAS,kBAAA,IAAA,EAAA;AAAT,iBAAA;;AAClC,mBAAA,CAAA;AAAA,gBAAA,CAAA,CAAA,KAAA;AAAkC,gBAAA,CAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAAW,gBAAA,EAAA,GAAA,CAAA,CAAA,CAAA;AAAU;;AACvD,mBAAA,CAAA;AAAA,gBAAA,EAAA,GAAA,CAAA,CAAA,GAAA,CAAA,GAAA,EAAA;;AAAyC,gBAAA,CAAA,CAAA,IAAA,CAAA,GAAA;;AAAc;;AACvD;AACA,oBAAA,EAAA,CAAA,GAAA,CAAA,CAAA,IAAA,EAAA,CAAA,GAAA,CAAA,CAAA,MAAA,GAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,MAAA,GAAA,CAAA,CAAA,MAAA,EAAA,CAAA,CAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,EAAA;AAA6G,kBAAA,CAAA,GAAA,CAAA;AAAO;AAAU;;AAC9H,oBAAA,EAAA,CAAA,CAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,IAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,IAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA;AAAgF,kBAAA,CAAA,CAAA,KAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAAiB;AAAO;;AACxG,oBAAA,EAAA,CAAA,CAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,KAAA,GAAA,CAAA,CAAA,CAAA,CAAA,EAAA;AAAwD,kBAAA,CAAA,CAAA,KAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAgB,kBAAA,CAAA,GAAA,EAAA;AAAQ;AAAO;;AACvF,oBAAA,CAAA,IAAA,CAAA,CAAA,KAAA,GAAA,CAAA,CAAA,CAAA,CAAA,EAAA;AAA8C,kBAAA,CAAA,CAAA,KAAA,GAAA,CAAA,CAAA,CAAA,CAAA;;AAAgB,kBAAA,CAAA,CAAA,GAAA,CAAA,IAAA,CAAA,EAAA;;AAAgB;AAAO;;AACrF,oBAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,GAAA,CAAA,GAAA;;AACA,gBAAA,CAAA,CAAA,IAAA,CAAA,GAAA;;AAAiC;AAXjC;;AAaA,YAAA,EAAA,GAAA,IAAA,CAAA,IAAA,CAAA,OAAA,EAAA,CAAA,CAAA;AACS,WAjBT,CAiBS,OAAA,CAAA,EAAA;AAAY,YAAA,EAAA,GAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAa,YAAA,CAAA,GAAA,CAAA;AAAS,WAjB3C,SAiB2C;AAAU,YAAA,CAAA,GAAA,CAAA,GAAA,CAAA;AAAW;AAjBhE;;AAkBA,YAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;AAAmC,eAAA;AAAS,UAAA,KAAA,EAAA,EAAA,CAAA,CAAA,CAAA,GAAA,EAAA,CAAA,CAAA,CAAA,GAAA,KAAA,CAAT;AAAS,UAAA,IAAA,EAAA;AAAT,SAAA;AACnC;AACA;;AAEO,aAAA,YAAA,CAAA,CAAA,EAAA,OAAA,EAAA;AACP,WAAA,IAAA,CAAA,IAAA,CAAA;AAAA,YAAA,CAAA,OAAA,CAAA,cAAA,CAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA;AACA;;AAEO,aAAA,QAAA,CAAA,CAAA,EAAA;AACP,UAAA,CAAA,GAAA,OAAA,MAAA,KAAA,UAAA,IAAA,CAAA,CAAA,MAAA,CAAA,QAAA,CAAA;AAAA,UAAA,CAAA,GAAA,CAAA;AACA,UAAA,CAAA,EAAA,OAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AACA,aAAA;AACA,QAAA,IAAA,EAAA,gBAAA;AACA,cAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA,MAAA,EAAA,CAAA,GAAA,KAAA,CAAA;AACA,iBAAA;AAAoB,YAAA,KAAA,EAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAA,CAApB;AAAoB,YAAA,IAAA,EAAA,CAAA;AAApB,WAAA;AACA;AAJA,OAAA;AAMA;;AAEO,aAAA,MAAA,CAAA,CAAA,EAAA,CAAA,EAAA;AACP,UAAA,CAAA,GAAA,OAAA,MAAA,KAAA,UAAA,IAAA,CAAA,CAAA,MAAA,CAAA,QAAA,CAAA;AACA,UAAA,CAAA,CAAA,EAAA,OAAA,CAAA;AACA,UAAA,CAAA,GAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AAAA,UAAA,CAAA;AAAA,UAAA,EAAA,GAAA,EAAA;AAAA,UAAA,CAAA;;AACA,UAAA;AACA,eAAA,CAAA,CAAA,KAAA,KAAA,CAAA,IAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,IAAA,EAAA,EAAA,IAAA;AAAA,UAAA,EAAA,CAAA,IAAA,CAAA,CAAA,CAAA,KAAA;AAAA;AACA,OAFA,CAGA,OAAA,KAAA,EAAA;AAAmB,QAAA,CAAA,GAAA;AAAM,UAAA,KAAA,EAAA;AAAN,SAAA;AAAsB,OAHzC,SAIA;AACA,YAAA;AACA,cAAA,CAAA,IAAA,CAAA,CAAA,CAAA,IAAA,KAAA,CAAA,GAAA,CAAA,CAAA,QAAA,CAAA,CAAA,EAAA,CAAA,CAAA,IAAA,CAAA,CAAA;AACA,SAFA,SAGA;AAAiB,cAAA,CAAA,EAAA,MAAA,CAAA,CAAA,KAAA;AAAsB;AACvC;;AACA,aAAA,EAAA;AACA;;AAEO,aAAA,QAAA,GAAA;AACP,WAAA,IAAA,EAAA,GAAA,EAAA,EAAA,CAAA,GAAA,CAAA,EAA4B,CAAA,GAAA,SAAA,CAAA,MAA5B,EAAkD,CAAA,EAAlD;AACA,QAAA,EAAA,GAAA,EAAA,CAAA,MAAA,CAAA,MAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AADA;;AAEA,aAAA,EAAA;AACA;;AAEO,aAAA,OAAA,CAAA,CAAA,EAAA;AACP,aAAA,gBAAA,OAAA,IAAA,KAAA,CAAA,GAAA,CAAA,EAAA,IAAA,IAAA,IAAA,OAAA,CAAA,CAAA,CAAA;AACA;;AAEO,aAAA,gBAAA,CAAA,OAAA,EAAA,UAAA,EAAA,SAAA,EAAA;AACP,UAAA,CAAA,MAAA,CAAA,aAAA,EAAA,MAAA,IAAA,SAAA,CAAA,sCAAA,CAAA;AACA,UAAA,CAAA,GAAA,SAAA,CAAA,KAAA,CAAA,OAAA,EAAA,UAAA,IAAA,EAAA,CAAA;AAAA,UAAA,CAAA;AAAA,UAAA,CAAA,GAAA,EAAA;AACA,aAAA,CAAA,GAAA,EAAA,EAAiB,IAAA,CAAA,MAAA,CAAjB,EAAiB,IAAA,CAAA,OAAA,CAAjB,EAAiB,IAAA,CAAA,QAAA,CAAjB,EAAiB,CAAA,CAAA,MAAA,CAAA,aAAA,CAAA,GAAA,YAAA;AAAsF,eAAA,IAAA;AAAe,OAAtH,EAAsH,CAAtH;;AACA,eAAA,IAAA,CAAA,CAAA,EAAA;AAAsB,YAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,GAAA,UAAA,CAAA,EAAA;AAAgC,iBAAA,IAAA,OAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA;AAAqC,YAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,IAAA,CAAA,IAAA,MAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAA4C,WAAjF,CAAA;AAAmF,SAAnH;AAAsH;;AAC5I,eAAA,MAAA,CAAA,CAAA,EAAA,CAAA,EAAA;AAA2B,YAAA;AAAM,UAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAiB,SAAvB,CAAuB,OAAA,CAAA,EAAA;AAAY,UAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAsB;AAAA;;AACpF,eAAA,IAAA,CAAA,CAAA,EAAA;AAAsB,QAAA,CAAA,CAAA,KAAA,YAAA,OAAA,GAAA,OAAA,CAAA,OAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,EAAA,IAAA,CAAA,OAAA,EAAA,MAAA,CAAA,GAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAoG;;AAC1H,eAAA,OAAA,CAAA,KAAA,EAAA;AAA6B,QAAA,MAAA,CAAA,MAAA,EAAA,KAAA,CAAA;AAAuB;;AACpD,eAAA,MAAA,CAAA,KAAA,EAAA;AAA4B,QAAA,MAAA,CAAA,OAAA,EAAA,KAAA,CAAA;AAAwB;;AACpD,eAAA,MAAA,CAAA,CAAA,EAAA,CAAA,EAAA;AAA2B,YAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,KAAA,EAAA,EAAA,CAAA,CAAA,MAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAyD;AACpF;;AAEO,aAAA,gBAAA,CAAA,CAAA,EAAA;AACP,UAAA,CAAA,EAAA,CAAA;AACA,aAAA,CAAA,GAAA,EAAA,EAAiB,IAAA,CAAA,MAAA,CAAjB,EAAiB,IAAA,CAAA,OAAA,EAAA,UAAA,CAAA,EAAA;AAA4C,cAAA,CAAA;AAAW,OAAvD,CAAjB,EAAwE,IAAA,CAAA,QAAA,CAAxE,EAAwE,CAAA,CAAA,MAAA,CAAA,QAAA,CAAA,GAAA,YAAA;AAAqD,eAAA,IAAA;AAAe,OAA5I,EAA4I,CAA5I;;AACA,eAAA,IAAA,CAAA,CAAA,EAAA,CAAA,EAAA;AAAyB,QAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,GAAA,UAAA,CAAA,EAAA;AAA6B,iBAAA,CAAA,CAAA,GAAA,CAAA,CAAA,IAAA;AAAoB,YAAA,KAAA,EAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAApB;AAAoB,YAAA,IAAA,EAAA,CAAA,KAAA;AAApB,WAAA,GAAoE,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAApE;AAAsF,SAAnH,GAAmH,CAAnH;AAAwH;AACjJ;;AAEO,aAAA,aAAA,CAAA,CAAA,EAAA;AACP,UAAA,CAAA,MAAA,CAAA,aAAA,EAAA,MAAA,IAAA,SAAA,CAAA,sCAAA,CAAA;AACA,UAAA,CAAA,GAAA,CAAA,CAAA,MAAA,CAAA,aAAA,CAAA;AAAA,UAAA,CAAA;AACA,aAAA,CAAA,GAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,IAAA,CAAA,GAAA,OAAA,QAAA,KAAA,UAAA,GAAA,QAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,MAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAA,GAAA,EAAA,EAA2G,IAAA,CAAA,MAAA,CAA3G,EAA2G,IAAA,CAAA,OAAA,CAA3G,EAA2G,IAAA,CAAA,QAAA,CAA3G,EAA2G,CAAA,CAAA,MAAA,CAAA,aAAA,CAAA,GAAA,YAAA;AAAsF,eAAA,IAAA;AAAe,OAAhN,EAAgN,CAAhN,CAAA;;AACA,eAAA,IAAA,CAAA,CAAA,EAAA;AAAsB,QAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,IAAA,UAAA,CAAA,EAAA;AAA8B,iBAAA,IAAA,OAAA,CAAA,UAAA,OAAA,EAAA,MAAA,EAAA;AAAgD,YAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,MAAA,CAAA,OAAA,EAAA,MAAA,EAAA,CAAA,CAAA,IAAA,EAAA,CAAA,CAAA,KAAA,CAAA;AAAyD,WAAzG,CAAA;AAA2G,SAAzI;AAA4I;;AAClK,eAAA,MAAA,CAAA,OAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA;AAA4C,QAAA,OAAA,CAAA,OAAA,CAAA,CAAA,EAAA,IAAA,CAAA,UAAA,CAAA,EAAA;AAAsC,UAAA,OAAA,CAAA;AAAU,YAAA,KAAA,EAAA,CAAV;AAAU,YAAA,IAAA,EAAA;AAAV,WAAA,CAAA;AAAkC,SAAxE,EAAwE,MAAxE;AAAkF;AAC9H;;AAEO,aAAA,oBAAA,CAAA,MAAA,EAAA,GAAA,EAAA;AACP,UAAA,MAAA,CAAA,cAAA,EAAA;AAAgC,QAAA,MAAA,CAAA,cAAA,CAAA,MAAA,EAAA,KAAA,EAAA;AAAuC,UAAA,KAAA,EAAA;AAAvC,SAAA;AAAwD,OAAxF,MAAwF;AAAO,QAAA,MAAA,CAAA,GAAA,GAAA,GAAA;AAAkB;;AACjH,aAAA,MAAA;AACA;;AAAA;;AAEO,aAAA,YAAA,CAAA,GAAA,EAAA;AACP,UAAA,GAAA,IAAA,GAAA,CAAA,UAAA,EAAA,OAAA,GAAA;AACA,UAAA,MAAA,GAAA,EAAA;AACA,UAAA,GAAA,IAAA,IAAA,EAAA,KAAA,IAAA,CAAA,IAAA,GAAA;AAAA,YAAA,MAAA,CAAA,cAAA,CAAA,IAAA,CAAA,GAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,GAAA,GAAA,CAAA,CAAA,CAAA;AAAA;AACA,MAAA,MAAA,CAAA,OAAA,GAAA,GAAA;AACA,aAAA,MAAA;AACA;;AAEO,aAAA,eAAA,CAAA,GAAA,EAAA;AACP,aAAA,GAAA,IAAA,GAAA,CAAA,UAAA,GAAA,GAAA,GAAA;AAA4C,QAAA,OAAA,EAAA;AAA5C,OAAA;AACA;;;;;;;;;;;;;;;ACzLA,aAAA,wBAAA,CAAA,GAAA,EAAA;AACA;AACA;AACA,aAAA,OAAA,CAAA,OAAA,GAAA,IAAA,CAAA,YAAA;AACA,YAAA,CAAA,GAAA,IAAA,KAAA,CAAA,yBAAA,GAAA,GAAA,GAAA,CAAA;AACA,QAAA,CAAA,CAAA,IAAA,GAAA,kBAAA;AACA,cAAA,CAAA;AACE,OAJF,CAAA;AAKA;;AACA,IAAA,wBAAA,CAAA,IAAA,GAAA,YAAA;AAA4C,aAAA,EAAA;AAAW,KAAvD;;AACA,IAAA,wBAAA,CAAA,OAAA,GAAA,wBAAA;AACA,IAAA,MAAA,CAAA,OAAA,GAAA,wBAAA;AACA,IAAA,wBAAA,CAAA,EAAA,GAAA,6CAAA;;;;;;;;;;;;;;;;ACZA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,kBAAA,EAAA,YAAA;AAAA,aAAA,gBAAA;AAAA,KAAA;AAAA;;;AAAA,QAAA,kCAAA,GAAA,mBAAA;AAAA;AAAA,uCAAA,CAAA;AAAA;;;AAAA,QAAA,0CAAA,GAAA,mBAAA;AAAA;AAAA,mDAAA,CAAA;AAAA;;;AAAA,QAAA,4CAAA,GAAA,mBAAA;AAAA;AAAA,uDAAA,CAAA;AAAA;;;AAAA,QAAA,0DAAA,GAAA,mBAAA;AAAA;AAAA,+CAAA,CAAA;AAAA;;;AAAA,QAAA,wDAAA,GAAA,mBAAA;AAAA;AAAA,6CAAA,CAAA;AAAA;;;AAAA,QAAA,0EAAA,GAAA,mBAAA;AAAA;AAAA,+DAAA,CAAA;AAAA;;;AAAA,QAAA,wEAAA,GAAA,mBAAA;AAAA;AAAA,6DAAA,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;AA4BA,QAAM,MAAM,GAAW,CACrB;AACE,MAAA,IAAI,EAAE,SADR;AAEE,MAAA,SAAS,EAAE,MAFb;AAGE,MAAA,SAAS,EAAE,0EAAA,CAAA,qBAAA,CAHb;AAIE,MAAA,WAAW,EAAE,CAAC,0DAAA,CAAA,sBAAA,CAAD;AAJf,KADqB,EAOrB;AACE,MAAA,IAAI,EAAE,EADR;AAEE,MAAA,SAAS,EAAE,wEAAA,CAAA,oBAAA,CAFb;AAGE,MAAA,WAAW,EAAE,CAAC,wDAAA,CAAA,oBAAA,CAAD,CAHf;AAIE,MAAA,QAAQ,EAAE,CACR;AACE,QAAA,IAAI,EAAE,EADR;AAEE,QAAA,UAAU,EAAE,QAFd;AAGE,QAAA,SAAS,EAAE;AAHb,OADQ,EAMR;AACE,QAAA,IAAI,EAAE,QADR;AAEE,QAAA,YAAY,EAAE;AAAA,iBAAM,mBAAA,CAAA,CAAA;AAAA;AAAA,wCAAA,EAAA,IAAA,CAAA,mBAAA,CAAA,IAAA,CAAA,IAAA;AAAA;AAAA,qDAAA,CAAA,EAAyC,IAAzC,CAA8C,UAAA,CAAC;AAAA,mBAAI,CAAC,CAAC,YAAN;AAAA,WAA/C,CAAN;AAAA;AAFhB,OANQ,EAUR;AACE,QAAA,IAAI,EAAE,kBADR;AAEE,QAAA,UAAU,EAAE,SAFd;AAGE,QAAA,SAAS,EAAE;AAHb,OAVQ,EAeR;AACE,QAAA,IAAI,EAAE,SADR;AAEE,QAAA,YAAY,EAAE;AAAA,iBAAM,mBAAA,CAAA,CAAA;AAAA;AAAA,oCAAA,EAAA,IAAA,CAAA,mBAAA,CAAA,IAAA,CAAA,IAAA;AAAA;AAAA,iDAAA,CAAA,EAAqC,IAArC,CAA0C,UAAA,CAAC;AAAA,mBAAI,CAAC,CAAC,UAAN;AAAA,WAA3C,CAAN;AAAA;AAFhB,OAfQ;AAJZ,KAPqB,CAAvB;;AAiDA,QAAa,gBAAb;AAAA;AAAA,KAAA;;AAAa,IAAA,gBAAgB,GAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CAJ5B,MAAA,CAAA,0CAAA,CAAA,UAAA,CAAA,CAAA,CAAS;AACR,MAAA,OAAO,EAAE,CAAC,4CAAA,CAAA,cAAA,CAAA,CAAa,OAAb,CAAqB,MAArB,CAAD,CADD;AAER,MAAA,OAAO,EAAE,CAAC,4CAAA,CAAA,cAAA,CAAD;AAFD,KAAT,CAI4B,CAAA,EAAhB,gBAAgB,CAAhB;;;;;;;;;;;;;;;;AC7Eb,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAe;;;AAAA,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,+lEAAA;;;;;;;;;;;;;;;;ACAf,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,cAAA,EAAA,YAAA;AAAA,aAAA,YAAA;AAAA,KAAA;AAAA;;;AAAA,QAAA,kCAAA,GAAA,mBAAA;AAAA;AAAA,uCAAA,CAAA;AAAA;;;AAAA,QAAA,0CAAA,GAAA,mBAAA;AAAA;AAAA,mDAAA,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;AA0BA,QAAa,YAAb,GALA,wBAAA;AAAA;;AAME,WAAA,KAAA,GAAQ,SAAR;AACD,KAFD;;AAAa,IAAA,YAAY,GAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CALxB,MAAA,CAAA,0CAAA,CAAA,WAAA,CAAA,CAAA,CAAU;AACT,MAAA,QAAQ,EAAE,UADD;AAET,MAAA,QAAA,EAAA,kCAAA,CAAA,iBAAA,CAAA,CAAA,mBAAA;AAAA;AAAA,0EAAA,CAAA,EAAA,OAFS;;;;AAAA,KAAV,CAKwB,CAAA,EAAZ,YAAY,CAAZ;;;;;;;;;;;;;;;;AC1Bb,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,WAAA,EAAA,YAAA;AAAA,aAAA,SAAA;AAAA,KAAA;AAAA;;;AAAA,QAAA,kCAAA,GAAA,mBAAA;AAAA;AAAA,uCAAA,CAAA;AAAA;;;AAAA,QAAA,sDAAA,GAAA,mBAAA;AAAA;AAAA,2EAAA,CAAA;AAAA;;;AAAA,QAAA,0CAAA,GAAA,mBAAA;AAAA;AAAA,mDAAA,CAAA;AAAA;;;AAAA,QAAA,gDAAA,GAAA,mBAAA;AAAA;AAAA,qCAAA,CAAA;AAAA;;;AAAA,QAAA,2CAAA,GAAA,mBAAA;AAAA;AAAA,gCAAA,CAAA;AAAA;;;AAAA,QAAA,0EAAA,GAAA,mBAAA;AAAA;AAAA,+DAAA,CAAA;AAAA;;;AAAA,QAAA,wEAAA,GAAA,mBAAA;AAAA;AAAA,6DAAA,CAAA;AAAA;;;AAAA,QAAA,iDAAA,GAAA,mBAAA;AAAA;AAAA,qDAAA,CAAA;AAAA;;;AAAA,QAAA,2CAAA,GAAA,mBAAA;AAAA;AAAA,qDAAA,CAAA;AAAA;;;AAAA,QAAA,4CAAA,GAAA,mBAAA;AAAA;AAAA,uDAAA,CAAA;AAAA;;;AAAA,QAAA,sEAAA,GAAA,mBAAA;AAAA;AAAA,0DAAA,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;AAyDA,QAAa,SAAb;AAAA;AAAA,KAAA;;AAAa,IAAA,SAAS,GAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CA1BrB,MAAA,CAAA,0CAAA,CAAA,UAAA,CAAA,CAAA,CAAS;AACR,MAAA,YAAY,EAAE,CACZ,2CAAA,CAAA,cAAA,CADY,EAEZ,0EAAA,CAAA,qBAAA,CAFY,EAGZ,wEAAA,CAAA,oBAAA,CAHY,CADN;AAMR,MAAA,OAAO,EAAE,CACP,gDAAA,CAAA,kBAAA,CADO,EAEP,sDAAA,CAAA,eAAA,CAFO,EAGP,4CAAA,CAAA,cAAA,CAHO,EAIP,2CAAA,CAAA,aAAA,CAJO,EAKP,iDAAA,CAAA,kBAAA,CALO,CAND;AAaR,MAAA,SAAS,EAAE,CACT;AACE,QAAA,OAAO,EAAE,iDAAA,CAAA,mBAAA,CADX;AAEE,QAAA,QAAQ,EAAE,sEAAA,CAAA,2BAAA,CAFZ;AAGE,QAAA,KAAK,EAAE;AAHT,OADS,EAMT;AACE,QAAA,OAAO,EAAE,4CAAA,CAAA,kBAAA,CADX;AAEE,QAAA,QAAQ,EAAE,4CAAA,CAAA,sBAAA;AAFZ,OANS,CAbH;AAwBR,MAAA,SAAS,EAAE,CAAC,2CAAA,CAAA,cAAA,CAAD;AAxBH,KAAT,CA0BqB,CAAA,EAAT,SAAS,CAAT;;;;;;;;;;;;;;;;ACzDb,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAe;;;AAAA,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,6wNAAA;;;;;;;;;;;;;;;;ACAf,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,qBAAA,EAAA,YAAA;AAAA,aAAA,mBAAA;AAAA,KAAA;AAAA;;;AAAA,QAAA,kCAAA,GAAA,mBAAA;AAAA;AAAA,uCAAA,CAAA;AAAA;;;AAAA,QAAA,0CAAA,GAAA,mBAAA;AAAA;AAAA,mDAAA,CAAA;AAAA;;;AAAA,QAAA,4CAAA,GAAA,mBAAA;AAAA;AAAA,uDAAA,CAAA;AAAA;;;AAAA,QAAA,6DAAA,GAAA,mBAAA;AAAA;AAAA,kDAAA,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;AA6BA,QAAa,mBAAb;AAAA;AAAA;AAIE,mCACmB,qBADnB,EAEmB,MAFnB,EAEiC;AAAA;;AADd,aAAA,qBAAA,GAAA,qBAAA;AACA,aAAA,MAAA,GAAA,MAAA;AAEjB,aAAK,KAAL,GAAa,EAAb;AACA,aAAK,QAAL,GAAgB,EAAhB;AACD;;AAVH;AAAA;AAAA,kCAYgB;AAAA;;AACZ,cAAM,WAAW,GAAc;AAC7B,YAAA,KAAK,EAAE,KAAK,KADiB;AAE7B,YAAA,QAAQ,EAAE,KAAK;AAFc,WAA/B;AAKA,eAAK,qBAAL,CAA2B,QAA3B,CAAoC,WAApC,EACG,SADH,CACa;AAAA,mBAAM,KAAI,CAAC,MAAL,CAAY,QAAZ,CAAqB,CAAC,GAAD,CAArB,CAAN;AAAA,WADb;AAED;AApBH;;AAAA;AAAA,OAAA;;;;cAK4C,6DAAA,CAAA,uBAAA;;cACf,4CAAA,CAAA,QAAA;;;;AANhB,IAAA,mBAAmB,GAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CAL/B,MAAA,CAAA,0CAAA,CAAA,WAAA,CAAA,CAAA,CAAU;AACT,MAAA,QAAQ,EAAE,iBADD;AAET,MAAA,QAAA,EAAA,kCAAA,CAAA,iBAAA,CAAA,CAAA,mBAAA;AAAA;AAAA,yGAAA,CAAA,EAAA,OAFS;;;;AAAA,KAAV,CAK+B,E,uEAKY,6DAAA,CAAA,uBAAA,C,EACf,4CAAA,CAAA,QAAA,C,EANG,CAAA,EAAnB,mBAAmB,CAAnB;;;;;;;;;;;;;;;;AC7Bb,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAe;;;AAAA,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,usEAAA;;;;;;;;;;;;;;;;ACAf,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,oBAAA,EAAA,YAAA;AAAA,aAAA,kBAAA;AAAA,KAAA;AAAA;;;AAAA,QAAA,kCAAA,GAAA,mBAAA;AAAA;AAAA,uCAAA,CAAA;AAAA;;;AAAA,QAAA,0CAAA,GAAA,mBAAA;AAAA;AAAA,mDAAA,CAAA;AAAA;;;AAAA,QAAA,gDAAA,GAAA,mBAAA;AAAA;AAAA,mDAAA,CAAA;AAAA;;;AAAA,QAAA,2CAAA,GAAA,mBAAA;AAAA;AAAA,qDAAA,CAAA;AAAA;;;AAAA,QAAA,4CAAA,GAAA,mBAAA;AAAA;AAAA,uDAAA,CAAA;AAAA;;;AAAA,QAAA,6DAAA,GAAA,mBAAA;AAAA;AAAA,kDAAA,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;AA+BA,QAAa,kBAAb;AAAA;AAAA;AAGE,kCACmB,qBADnB,EAEmB,kBAFnB,EAGmB,MAHnB,EAGiC;AAAA;;AAFd,aAAA,qBAAA,GAAA,qBAAA;AACA,aAAA,kBAAA,GAAA,kBAAA;AACA,aAAA,MAAA,GAAA,MAAA;AAEjB,aAAK,UAAL,GAAkB,KAAK,kBAAL,CAAwB,OAAxB,CAAgC,gDAAA,CAAA,aAAA,CAAA,CAAY,OAA5C,EACf,IADe,CAEd,MAAA,CAAA,2CAAA,CAAA,KAAA,CAAA,CAAA,CAAI,UAAA,MAAM;AAAA,iBAAI,MAAM,CAAC,OAAX;AAAA,SAAV,CAFc,CAAlB;AAID;;AAZH;AAAA;AAAA,mCAciB;AACb,eAAK,qBAAL,CAA2B,MAA3B;AACA,eAAK,MAAL,CAAY,QAAZ,CAAqB,CAAC,SAAD,CAArB;AACD;AAjBH;;AAAA;AAAA,OAAA;;;;cAI4C,6DAAA,CAAA,uBAAA;;cACH,gDAAA,CAAA,oBAAA;;cACZ,4CAAA,CAAA,QAAA;;;;AANhB,IAAA,kBAAkB,GAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CAL9B,MAAA,CAAA,0CAAA,CAAA,WAAA,CAAA,CAAA,CAAU;AACT,MAAA,QAAQ,EAAE,gBADD;AAET,MAAA,QAAA,EAAA,kCAAA,CAAA,iBAAA,CAAA,CAAA,mBAAA;AAAA;AAAA,uGAAA,CAAA,EAAA,OAFS;;;;AAAA,KAAV,CAK8B,E,uEAIa,6DAAA,CAAA,uBAAA,C,EACH,gDAAA,CAAA,oBAAA,C,EACZ,4CAAA,CAAA,QAAA,C,EANE,CAAA,EAAlB,kBAAkB,CAAlB;;;;;;;;;;;;;;;;AC/Bb,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,oBAAA,EAAA,YAAA;AAAA,aAAA,kBAAA;AAAA,KAAA;AAAA;;;AAAA,QAAA,kCAAA,GAAA,mBAAA;AAAA;AAAA,uCAAA,CAAA;AAAA;;;AAAA,QAAA,0CAAA,GAAA,mBAAA;AAAA;AAAA,mDAAA,CAAA;AAAA;;;AAAA,QAAA,4CAAA,GAAA,mBAAA;AAAA;AAAA,uDAAA,CAAA;AAAA;;;AAAA,QAAA,2CAAA,GAAA,mBAAA;AAAA;AAAA,qDAAA,CAAA;AAAA;;;AAAA,QAAA,6DAAA,GAAA,mBAAA;AAAA;AAAA,kDAAA,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;AA4BA,QAAa,kBAAb;AAAA;AAAA;AACE,kCACmB,qBADnB,EAEmB,MAFnB,EAEiC;AAAA;;AADd,aAAA,qBAAA,GAAA,qBAAA;AACA,aAAA,MAAA,GAAA,MAAA;AACf;;AAJN;AAAA;AAAA,oCAOI,IAPJ,EAQI,KARJ,EAQ8B;AAAA;;AAE1B,cAAI,KAAK,qBAAL,CAA2B,QAA3B,EAAJ,EAA2C;AACzC,mBAAO,IAAP;AACD,WAFD,MAEO;AACL,mBAAO,KAAK,qBAAL,CAA2B,6BAA3B,GACJ,IADI,CAEH,MAAA,CAAA,2CAAA,CAAA,KAAA,CAAA,CAAA,CAAI,UAAA,IAAI;AAAA,qBAAI,IAAI,KAAK,IAAb;AAAA,aAAR,CAFG,EAGH,MAAA,CAAA,2CAAA,CAAA,KAAA,CAAA,CAAA,CAAI,UAAA,QAAQ,EAAG;AACb,kBAAI,CAAC,QAAL,EAAe;AACb,gBAAA,MAAI,CAAC,MAAL,CAAY,QAAZ,CAAqB,CAAC,SAAD,CAArB;AACD;AACF,aAJD,CAHG,CAAP;AASD;AACF;AAvBH;;AAAA;AAAA,OAAA;;;;cAE4C,6DAAA,CAAA,uBAAA;;cACf,4CAAA,CAAA,QAAA;;;;AAHhB,IAAA,kBAAkB,GAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CAH9B,MAAA,CAAA,0CAAA,CAAA,YAAA,CAAA,CAAA,CAAW;AACV,MAAA,UAAU,EAAE;AADF,KAAX,CAG8B,E,uEAEa,6DAAA,CAAA,uBAAA,C,EACf,4CAAA,CAAA,QAAA,C,EAHE,CAAA,EAAlB,kBAAkB,CAAlB;;;;;;;;;;;;;;;;AC5Bb,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,sBAAA,EAAA,YAAA;AAAA,aAAA,oBAAA;AAAA,KAAA;AAAA;;;AAAA,QAAA,kCAAA,GAAA,mBAAA;AAAA;AAAA,uCAAA,CAAA;AAAA;;;AAAA,QAAA,0CAAA,GAAA,mBAAA;AAAA;AAAA,mDAAA,CAAA;AAAA;;;AAAA,QAAA,4CAAA,GAAA,mBAAA;AAAA;AAAA,uDAAA,CAAA;AAAA;;;AAAA,QAAA,2CAAA,GAAA,mBAAA;AAAA;AAAA,qDAAA,CAAA;AAAA;;;AAAA,QAAA,6DAAA,GAAA,mBAAA;AAAA;AAAA,kDAAA,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;AA4BA,QAAa,oBAAb;AAAA;AAAA;AACE,oCACmB,qBADnB,EAEmB,MAFnB,EAEiC;AAAA;;AADd,aAAA,qBAAA,GAAA,qBAAA;AACA,aAAA,MAAA,GAAA,MAAA;AACf;;AAJN;AAAA;AAAA,oCAOI,IAPJ,EAQI,KARJ,EAQ8B;AAAA;;AAE1B,cAAI,KAAK,qBAAL,CAA2B,QAA3B,EAAJ,EAA2C;AACzC,iBAAK,MAAL,CAAY,QAAZ,CAAqB,EAArB;AACA,mBAAO,KAAP;AACD,WAHD,MAGO;AACL,mBAAO,KAAK,qBAAL,CAA2B,6BAA3B,GACJ,IADI,CAEH,MAAA,CAAA,2CAAA,CAAA,KAAA,CAAA,CAAA,CAAI,UAAA,IAAI;AAAA,qBAAI,IAAI,KAAK,IAAb;AAAA,aAAR,CAFG,EAGH,MAAA,CAAA,2CAAA,CAAA,KAAA,CAAA,CAAA,CAAI,UAAA,WAAW,EAAG;AAChB,kBAAI,CAAC,WAAL,EAAkB;AAChB,gBAAA,MAAI,CAAC,MAAL,CAAY,QAAZ,CAAqB,EAArB;AACD;AACF,aAJD,CAHG,CAAP;AASD;AACF;AAxBH;;AAAA;AAAA,OAAA;;;;cAE4C,6DAAA,CAAA,uBAAA;;cACf,4CAAA,CAAA,QAAA;;;;AAHhB,IAAA,oBAAoB,GAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CAHhC,MAAA,CAAA,0CAAA,CAAA,YAAA,CAAA,CAAA,CAAW;AACV,MAAA,UAAU,EAAE;AADF,KAAX,CAGgC,E,uEAEW,6DAAA,CAAA,uBAAA,C,EACf,4CAAA,CAAA,QAAA,C,EAHI,CAAA,EAApB,oBAAoB,CAApB;;;;;;;;;;;;;;;;AC5Bb,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,2BAAA,EAAA,YAAA;AAAA,aAAA,yBAAA;AAAA,KAAA;AAAA;;;AAAA,QAAA,kCAAA,GAAA,mBAAA;AAAA;AAAA,uCAAA,CAAA;AAAA;;;AAAA,QAAA,0CAAA,GAAA,mBAAA;AAAA;AAAA,mDAAA,CAAA;AAAA;;;AAAA,QAAA,6DAAA,GAAA,mBAAA;AAAA;AAAA,kDAAA,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;AA2BA,QAAa,yBAAb;AAAA;AAAA;AAEE,yCAA0B,qBAA1B,EAAsE;AAAA;;AAA5C,aAAA,qBAAA,GAAA,qBAAA;AACzB;;AAHH;AAAA;AAAA,kCAKmB,OALnB,EAK8C,IAL9C,EAK+D;AAC3D,cAAM,IAAI,GAAG,KAAK,qBAAL,CAA2B,UAAxC;;AAEA,cAAI,IAAI,KAAK,IAAb,EAAmB;AACjB,YAAA,OAAO,GAAG,OAAO,CAAC,KAAR,CAAc;AACtB,cAAA,UAAU,EAAE;AACV,gBAAA,aAAa,EAAE,WAAW,IAAI,CAAC,IAAI,CAAC,KAAL,GAAa,GAAb,GAAmB,IAAI,CAAC,QAAzB;AADpB;AADU,aAAd,CAAV;AAKD;;AAED,iBAAO,IAAI,CAAC,MAAL,CAAY,OAAZ,CAAP;AACD;AAjBH;;AAAA;AAAA,OAAA;;;;cAEmD,6DAAA,CAAA,uBAAA;;;;AAFtC,IAAA,yBAAyB,GAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CAHrC,MAAA,CAAA,0CAAA,CAAA,YAAA,CAAA,CAAA,CAAW;AACV,MAAA,UAAU,EAAE;AADF,KAAX,CAGqC,E,uEAEa,6DAAA,CAAA,uBAAA,C,EAFb,CAAA,EAAzB,yBAAyB,CAAzB;;;;;;;;;;;;;;;;AC3Bb,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,uBAAA,EAAA,YAAA;AAAA,aAAA,qBAAA;AAAA,KAAA;AAAA;;;AAAA,QAAA,kCAAA,GAAA,mBAAA;AAAA;AAAA,uCAAA,CAAA;AAAA;;;AAAA,QAAA,0CAAA,GAAA,mBAAA;AAAA;AAAA,mDAAA,CAAA;AAAA;;;AAAA,QAAA,iCAAA,GAAA,mBAAA;AAAA;AAAA,2CAAA,CAAA;AAAA;;;AAAA,QAAA,iDAAA,GAAA,mBAAA;AAAA;AAAA,qDAAA,CAAA;AAAA;;;AAAA,QAAA,sDAAA,GAAA,mBAAA;AAAA;AAAA,uCAAA,CAAA;AAAA;;;AAAA,QAAA,2CAAA,GAAA,mBAAA;AAAA;AAAA,qDAAA,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;AA6BA,QAAa,qBAAqB,GAAA,uBAAlC;AAAA;AAAA;AAyBE,qCACmB,IADnB,EACmC;AAAA;;AAAhB,aAAA,IAAA,GAAA,IAAA;AAEjB,aAAK,YAAL,GAAoB,IAAI,iCAAA,CAAA,iBAAA,CAAJ,CAAsC,IAAtC,CAApB;AACD;;AA7BH;AAAA;AAAA,mCAuCiB;AACb,iBAAO,KAAK,UAAL,KAAoB,IAA3B;AACD;AAzCH;AAAA;AAAA,iCA2Ce;AACX,UAAA,uBAAqB,CAAC,gBAAtB;;AACA,eAAK,YAAL,CAAkB,IAAlB,CAAuB,IAAvB;AACD;AA9CH;AAAA;AAAA,wDAgDsC;AAClC,cAAM,WAAW,GAAG,uBAAqB,CAAC,eAAtB,EAApB;;AAEA,cAAI,WAAW,KAAK,IAApB,EAA0B;AACxB,mBAAO,KAAK,QAAL,CAAc,WAAd,CAAP;AACD,WAFD,MAEO;AACL,mBAAO,MAAA,CAAA,iCAAA,CAAA,IAAA,CAAA,CAAA,CAAqB,IAArB,CAAP;AACD;AACF;AAxDH;AAAA;AAAA,iCA6DkB,KA7DlB,EA6D6C,QA7D7C,EA6D8D;AAAA;;AAC1D,cAAI,SAAJ;AACA,cAAI,YAAJ;;AAEA,cAAI,OAAO,KAAP,KAAiB,QAArB,EAA+B;AAC7B,gBAAI,QAAQ,KAAK,SAAjB,EAA4B;AAC1B,oBAAM,IAAI,SAAJ,CAAc,8CAAd,CAAN;AACD;;AAED,YAAA,SAAS,GAAG,KAAZ;AACA,YAAA,YAAY,GAAG,QAAf;AACD,WAPD,MAOO;AACL,YAAA,SAAS,GAAG,KAAK,CAAC,KAAlB;AACA,YAAA,YAAY,GAAG,KAAK,CAAC,QAArB;AACD;;AACD,UAAA,uBAAqB,CAAC,gBAAtB,CAAuC,SAAvC,EAAkD,YAAlD;AAEA,cAAM,OAAO,GAAG,IAAI,iDAAA,CAAA,aAAA,CAAJ,GACb,GADa,CACT,eADS,EACQ,WAAW,IAAI,CAAC,SAAS,GAAG,GAAZ,GAAkB,YAAnB,CADvB,CAAhB;AAGA,iBAAO,KAAK,IAAL,CAAU,GAAV,WAAwB,sDAAA,CAAA,aAAA,CAAA,CAAY,OAApC,oBAAqD,SAArD,GAAkE;AACvE,YAAA,OAAO,EAAE;AAD8D,WAAlE,EAGJ,IAHI,CAIH,MAAA,CAAA,2CAAA,CAAA,KAAA,CAAA,CAAA,CAAI,UAAA,IAAI;AAAA,mBAAI,MAAI,CAAC,YAAL,CAAkB,IAAlB,CAAuB;AACjC,cAAA,KAAK,EAAE,SAD0B;AAEjC,cAAA,QAAQ,EAAE;AAFuB,aAAvB,CAAJ;AAAA,WAAR,CAJG,EAQH,MAAA,CAAA,2CAAA,CAAA,YAAA,CAAA,CAAA,CAAW,UAAA,KAAK,EAAG;AACjB,YAAA,MAAI,CAAC,YAAL,CAAkB,IAAlB,CAAuB,IAAvB;;AACA,kBAAM,KAAN;AACD,WAHD,CARG,CAAP;AAaD;AA9FH;AAAA;AAAA,4BA+BwB;AACpB,iBAAO,KAAK,YAAL,CAAkB,YAAlB,EAAP;AACD;AAjCH;AAAA;AAAA,4BAmCuB;AACnB,iBAAO,KAAK,YAAL,CAAkB,KAAzB;AACD;AArCH;AAAA;AAAA,2CAKiC;AAC7B,UAAA,YAAY,CAAC,UAAb,CAAwB,uBAAqB,CAAC,gBAA9C;AACD;AAPH;AAAA;AAAA,0CASgC;AAC5B,cAAM,qBAAqB,GAAG,YAAY,CAAC,OAAb,CAAqB,uBAAqB,CAAC,gBAA3C,CAA9B;;AAEA,cAAI,qBAAqB,KAAK,IAA9B,EAAoC;AAClC,mBAAO,IAAI,CAAC,KAAL,CAAW,qBAAX,CAAP;AACD,WAFD,MAEO;AACL,mBAAO,IAAP;AACD;AACF;AAjBH;AAAA;AAAA,yCAmBkC,KAnBlC,EAmBiD,QAnBjD,EAmBiE;AAC7D,cAAM,WAAW,GAAc;AAAC,YAAA,KAAK,EAAL,KAAD;AAAQ,YAAA,QAAQ,EAAR;AAAR,WAA/B;AAEA,UAAA,YAAY,CAAC,OAAb,CAAqB,uBAAqB,CAAC,gBAA3C,EAA6D,IAAI,CAAC,SAAL,CAAe,WAAf,CAA7D;AACD;AAvBH;;AAAA;AAAA,OAAA;;AAC0B,IAAA,qBAAA,CAAA,gBAAA,GAAmB,MAAnB;;;;cAyBC,iDAAA,CAAA,YAAA;;;;AA1Bd,IAAA,qBAAqB,GAAA,uBAAA,GAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CAHjC,MAAA,CAAA,0CAAA,CAAA,YAAA,CAAA,CAAA,CAAW;AACV,MAAA,UAAU,EAAE;AADF,KAAX,CAGiC,E,uEA0BP,iDAAA,CAAA,YAAA,C,EA1BO,CAAA,EAArB,qBAAqB,CAArB;;;;;;;;;;;;;;;;AC7Bb,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAA;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA,EAAA,aAAA,EAAA,YAAA;AAAA,aAAA,WAAA;AAAA,KAAA;AAAA;;;AAAA,QAAA,kCAAA,GAAA,mBAAA;AAAA;AAAA,uCAAA,CAAA;AAAA;;;;;;;;;;;;;;;;;;AAmBA;AACA;AACA;;;AAEO,QAAM,WAAW,GAAG;AACzB,MAAA,UAAU,EAAE,KADa;AAEzB,MAAA,OAAO,EAAE;AAFgB,KAApB;AAKP;;;;;;;AAOA;;;;;;;;;;;;;;;;;ACnCA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAA;;;AAAA,QAAA,kCAAA,GAAA,mBAAA;AAAA;AAAA,uCAAA,CAAA;AAAA;;;AAAA,QAAA,0CAAA,GAAA,mBAAA;AAAA;AAAA,mDAAA,CAAA;AAAA;;;AAAA,QAAA,8DAAA,GAAA,mBAAA;AAAA;AAAA,2FAAA,CAAA;AAAA;;;AAAA,QAAA,4CAAA,GAAA,mBAAA;AAAA;AAAA,6BAAA,CAAA;AAAA;;;AAAA,QAAA,sDAAA,GAAA,mBAAA;AAAA;AAAA,uCAAA,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;AAyBA,QAAI,sDAAA,CAAA,aAAA,CAAA,CAAY,UAAhB,EAA4B;AAC1B,MAAA,MAAA,CAAA,0CAAA,CAAA,gBAAA,CAAA,CAAA;AACD;;AAED,IAAA,MAAA,CAAA,8DAAA,CAAA,wBAAA,CAAA,CAAA,GAAyB,eAAzB,CAAyC,4CAAA,CAAA,WAAA,CAAzC,EACG,KADH,CACS,UAAA,GAAG;AAAA,aAAI,OAAO,CAAC,KAAR,CAAc,GAAd,CAAJ;AAAA,KADZ","sourcesContent":["export default \"\\r\\n\\r\\n \\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n\"","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport {UnauthenticatedGuard} from './guards/unauthenticated.guard';\r\nimport {AuthenticatedGuard} from './guards/authenticated.guard';\r\nimport {LoginPanelComponent} from './components/login-panel/login-panel.component';\r\nimport {MainPanelComponent} from './components/main-panel/main-panel.component';\r\nimport {PetsFormComponent} from './modules/pets/components/pets-form/pets-form.component';\r\n\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'welcome',\r\n pathMatch: 'full',\r\n component: LoginPanelComponent,\r\n canActivate: [UnauthenticatedGuard]\r\n },\r\n {\r\n path: '',\r\n component: MainPanelComponent,\r\n canActivate: [AuthenticatedGuard],\r\n children: [\r\n {\r\n path: '',\r\n redirectTo: 'people',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'people',\r\n loadChildren: () => import('./modules/people/people.module').then(m => m.PeopleModule)\r\n },\r\n {\r\n path: 'listPets/:person',\r\n redirectTo: ':person',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: ':person',\r\n loadChildren: () => import('./modules/pets/pets.module').then(m => m.PetsModule)\r\n }\r\n ]\r\n },\r\n \r\n\r\n \r\n \r\n \r\n /*{\r\n path: 'pets/:person',\r\n pathMatch: 'full',\r\n component: PetsFormComponent,\r\n canActivate: [AuthenticatedGuard]\r\n }*/\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","export default \"/*!\\n * DAA Example\\n *\\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU General Public License as published by\\n * the Free Software Foundation, either version 3 of the License, or\\n * (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU General Public License for more details.\\n *\\n * You should have received a copy of the GNU General Public License\\n * along with this program. If not, see .\\n */\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQzpcXFVzZXJzXFxOb2VsaWFcXERlc2t0b3BcXERBQVxcZGFhZXhhbXBsZVxcc3JjXFxtYWluXFxhbmd1bGFyL3NyY1xcYXBwXFxhcHAuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBQUEiLCJmaWxlIjoic3JjL2FwcC9hcHAuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcclxuICogREFBIEV4YW1wbGVcclxuICpcclxuICogQ29weXJpZ2h0IChDKSAyMDE5IC0gTWlndWVsIFJlYm9pcm8tSmF0by5cclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXHJcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXHJcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxyXG4gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxyXG4gKlxyXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxyXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxyXG4gKi9cclxuXHJcbiJdfQ== */\"","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent {\r\n title = 'angular';\r\n}\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {BrowserModule} from '@angular/platform-browser';\r\nimport {NgModule} from '@angular/core';\r\n\r\nimport {AppRoutingModule} from './app-routing.module';\r\nimport {AppComponent} from './app.component';\r\nimport {LoginPanelComponent} from './components/login-panel/login-panel.component';\r\nimport {MainPanelComponent} from './components/main-panel/main-panel.component';\r\nimport {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {CommonModule, HashLocationStrategy, LocationStrategy} from '@angular/common';\r\nimport {AuthenticationInterceptor} from './interceptors/authentication.interceptor';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginPanelComponent,\r\n MainPanelComponent,\r\n ],\r\n imports: [\r\n AppRoutingModule,\r\n BrowserModule,\r\n CommonModule,\r\n FormsModule,\r\n HttpClientModule\r\n ],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthenticationInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: LocationStrategy,\r\n useClass: HashLocationStrategy\r\n }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n}\r\n","export default \"/*!\\n * DAA Example\\n *\\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU General Public License as published by\\n * the Free Software Foundation, either version 3 of the License, or\\n * (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU General Public License for more details.\\n *\\n * You should have received a copy of the GNU General Public License\\n * along with this program. If not, see .\\n */\\n#container {\\n height: 100%;\\n width: 100%;\\n display: -webkit-box;\\n display: flex;\\n -ms-flex-align: center;\\n -ms-flex-pack: center;\\n -webkit-box-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n justify-content: center;\\n padding-top: 40px;\\n padding-bottom: 40px;\\n}\\n.form-signin {\\n width: 100%;\\n max-width: 330px;\\n padding: 15px;\\n margin: 0 auto;\\n}\\n.form-signin .form-control {\\n position: relative;\\n box-sizing: border-box;\\n height: auto;\\n padding: 10px;\\n font-size: 16px;\\n}\\n.form-signin .form-control:focus {\\n z-index: 2;\\n}\\n#login {\\n margin-bottom: -1px;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n#password {\\n margin-bottom: 10px;\\n border-top-left-radius: 0;\\n border-top-right-radius: 0;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9sb2dpbi1wYW5lbC9DOlxcVXNlcnNcXE5vZWxpYVxcRGVza3RvcFxcREFBXFxkYWFleGFtcGxlXFxzcmNcXG1haW5cXGFuZ3VsYXIvc3JjXFxhcHBcXGNvbXBvbmVudHNcXGxvZ2luLXBhbmVsXFxsb2dpbi1wYW5lbC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvY29tcG9uZW50cy9sb2dpbi1wYW5lbC9sb2dpbi1wYW5lbC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFBQTtBQW1CQTtFQUNFLFlBQUE7RUFDQSxXQUFBO0VBRUEsb0JBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxxQkFBQTtFQUNBLHlCQUFBO0VBQ0EsbUJBQUE7RUFDQSx3QkFBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtBQ0FGO0FER0E7RUFDRSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtBQ0FGO0FER0E7RUFDRSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxlQUFBO0FDQUY7QURHQTtFQUNFLFVBQUE7QUNBRjtBREdBO0VBQ0UsbUJBQUE7RUFDQSw2QkFBQTtFQUNBLDRCQUFBO0FDQUY7QURHQTtFQUNFLG1CQUFBO0VBQ0EseUJBQUE7RUFDQSwwQkFBQTtBQ0FGIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9sb2dpbi1wYW5lbC9sb2dpbi1wYW5lbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBEQUEgRXhhbXBsZVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTkgLSBNaWd1ZWwgUmVib2lyby1KYXRvLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXHJcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqL1xyXG5cclxuI2NvbnRhaW5lciB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XHJcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBwYWRkaW5nLXRvcDogNDBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxufVxyXG5cclxuLmZvcm0tc2lnbmluIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDMzMHB4O1xyXG4gIHBhZGRpbmc6IDE1cHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5mb3JtLXNpZ25pbiAuZm9ybS1jb250cm9sIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi5mb3JtLXNpZ25pbiAuZm9ybS1jb250cm9sOmZvY3VzIHtcclxuICB6LWluZGV4OiAyO1xyXG59XHJcblxyXG4jbG9naW4ge1xyXG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxufVxyXG5cclxuI3Bhc3N3b3JkIHtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XHJcbn1cclxuIiwiLyohXG4gKiBEQUEgRXhhbXBsZVxuICpcbiAqIENvcHlyaWdodCAoQykgMjAxOSAtIE1pZ3VlbCBSZWJvaXJvLUphdG8uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cbiNjb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xufVxuXG4uZm9ybS1zaWduaW4ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzMzBweDtcbiAgcGFkZGluZzogMTVweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5mb3JtLXNpZ25pbiAuZm9ybS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmZvcm0tc2lnbmluIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICB6LWluZGV4OiAyO1xufVxuXG4jbG9naW4ge1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cblxuI3Bhc3N3b3JkIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59Il19 */\"","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {Component} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {AuthenticationService} from '../../services/authentication.service';\r\nimport {UserModel} from '../../models';\r\n\r\n@Component({\r\n selector: 'app-login-panel',\r\n templateUrl: './login-panel.component.html',\r\n styleUrls: ['./login-panel.component.scss']\r\n})\r\nexport class LoginPanelComponent {\r\n public login: string;\r\n public password: string;\r\n\r\n public constructor(\r\n private readonly authenticationService: AuthenticationService,\r\n private readonly router: Router\r\n ) {\r\n this.login = '';\r\n this.password = '';\r\n }\r\n\r\n public onLogin(): void {\r\n const credentials: UserModel = {\r\n login: this.login,\r\n password: this.password\r\n };\r\n\r\n this.authenticationService.tryLogin(credentials)\r\n .subscribe(() => this.router.navigate(['/']));\r\n }\r\n\r\n}\r\n","export default \"/*!\\n * DAA Example\\n *\\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU General Public License as published by\\n * the Free Software Foundation, either version 3 of the License, or\\n * (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU General Public License for more details.\\n *\\n * You should have received a copy of the GNU General Public License\\n * along with this program. If not, see .\\n */\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9tYWluLXBhbmVsL0M6XFxVc2Vyc1xcTm9lbGlhXFxEZXNrdG9wXFxEQUFcXGRhYWV4YW1wbGVcXHNyY1xcbWFpblxcYW5ndWxhci9zcmNcXGFwcFxcY29tcG9uZW50c1xcbWFpbi1wYW5lbFxcbWFpbi1wYW5lbC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFBQSIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbWFpbi1wYW5lbC9tYWluLXBhbmVsLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXHJcbiAqIERBQSBFeGFtcGxlXHJcbiAqXHJcbiAqIENvcHlyaWdodCAoQykgMjAxOSAtIE1pZ3VlbCBSZWJvaXJvLUphdG8uXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxyXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxyXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcclxuICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cclxuICpcclxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcclxuICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cclxuICovXHJcbiJdfQ== */\"","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {Component} from '@angular/core';\r\nimport {Observable} from 'rxjs';\r\nimport {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';\r\nimport {map} from 'rxjs/operators';\r\nimport {Router} from '@angular/router';\r\nimport {AuthenticationService} from '../../services/authentication.service';\r\n\r\n@Component({\r\n selector: 'app-main-panel',\r\n templateUrl: './main-panel.component.html',\r\n styleUrls: ['./main-panel.component.scss']\r\n})\r\nexport class MainPanelComponent {\r\n public readonly isHandset$: Observable;\r\n\r\n public constructor(\r\n private readonly authenticationService: AuthenticationService,\r\n private readonly breakpointObserver: BreakpointObserver,\r\n private readonly router: Router\r\n ) {\r\n this.isHandset$ = this.breakpointObserver.observe(Breakpoints.Handset)\r\n .pipe(\r\n map(result => result.matches)\r\n );\r\n }\r\n\r\n public onLogout(): void {\r\n this.authenticationService.logout();\r\n this.router.navigate(['welcome']);\r\n }\r\n}\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {Injectable} from '@angular/core';\r\nimport {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot} from '@angular/router';\r\nimport {Observable} from 'rxjs';\r\nimport {map, tap} from 'rxjs/operators';\r\nimport {AuthenticationService} from '../services/authentication.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticatedGuard implements CanActivate {\r\n public constructor(\r\n private readonly authenticationService: AuthenticationService,\r\n private readonly router: Router\r\n ) {}\r\n\r\n public canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): boolean | Observable {\r\n if (this.authenticationService.isLogged()) {\r\n return true;\r\n } else {\r\n return this.authenticationService.tryLoginWithStoredCredentials()\r\n .pipe(\r\n map(user => user !== null),\r\n tap(isLogged => {\r\n if (!isLogged) {\r\n this.router.navigate(['welcome']);\r\n }\r\n })\r\n );\r\n }\r\n }\r\n}\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {Injectable} from '@angular/core';\r\nimport {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot} from '@angular/router';\r\nimport {map, tap} from 'rxjs/operators';\r\nimport {Observable} from 'rxjs';\r\nimport {AuthenticationService} from '../services/authentication.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UnauthenticatedGuard implements CanActivate {\r\n public constructor(\r\n private readonly authenticationService: AuthenticationService,\r\n private readonly router: Router\r\n ) {}\r\n\r\n public canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): boolean | Observable {\r\n if (this.authenticationService.isLogged()) {\r\n this.router.navigate([]);\r\n return false;\r\n } else {\r\n return this.authenticationService.tryLoginWithStoredCredentials()\r\n .pipe(\r\n map(user => user === null),\r\n tap(isNotLogged => {\r\n if (!isNotLogged) {\r\n this.router.navigate([]);\r\n }\r\n })\r\n );\r\n }\r\n }\r\n}\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {Injectable} from '@angular/core';\r\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\r\nimport {Observable} from 'rxjs';\r\nimport {AuthenticationService} from '../services/authentication.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationInterceptor implements HttpInterceptor {\r\n\r\n public constructor(public authenticationService: AuthenticationService) {\r\n }\r\n\r\n public intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n const user = this.authenticationService.loggedUser;\r\n\r\n if (user !== null) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: 'Basic ' + btoa(user.login + ':' + user.password)\r\n }\r\n });\r\n }\r\n\r\n return next.handle(request);\r\n }\r\n}\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {Injectable} from '@angular/core';\r\nimport {BehaviorSubject, Observable, of} from 'rxjs';\r\nimport {UserModel} from '../models';\r\nimport {HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';\r\nimport {environment} from '../../environments/environment';\r\nimport {catchError, tap} from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationService {\r\n private static readonly USER_STORAGE_KEY = 'user';\r\n\r\n private readonly _loggedUser$: BehaviorSubject;\r\n\r\n private static clearCredentials(): void {\r\n localStorage.removeItem(AuthenticationService.USER_STORAGE_KEY);\r\n }\r\n\r\n private static loadCredentials(): UserModel | null {\r\n const serializedCredentials = localStorage.getItem(AuthenticationService.USER_STORAGE_KEY);\r\n\r\n if (serializedCredentials !== null) {\r\n return JSON.parse(serializedCredentials);\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n private static storeCredentials(login: string, password: string): void {\r\n const credentials: UserModel = {login, password};\r\n\r\n localStorage.setItem(AuthenticationService.USER_STORAGE_KEY, JSON.stringify(credentials));\r\n }\r\n\r\n public constructor(\r\n private readonly http: HttpClient\r\n ) {\r\n this._loggedUser$ = new BehaviorSubject(null);\r\n }\r\n\r\n public get loggedUser$(): Observable {\r\n return this._loggedUser$.asObservable();\r\n }\r\n\r\n public get loggedUser(): UserModel | null {\r\n return this._loggedUser$.value;\r\n }\r\n\r\n public isLogged(): boolean {\r\n return this.loggedUser !== null;\r\n }\r\n\r\n public logout(): void {\r\n AuthenticationService.clearCredentials();\r\n this._loggedUser$.next(null);\r\n }\r\n\r\n public tryLoginWithStoredCredentials(): Observable {\r\n const credentials = AuthenticationService.loadCredentials();\r\n\r\n if (credentials !== null) {\r\n return this.tryLogin(credentials);\r\n } else {\r\n return of(null);\r\n }\r\n }\r\n\r\n public tryLogin(login: UserModel): Observable;\r\n public tryLogin(login: string, password: string): Observable;\r\n\r\n public tryLogin(login: string | UserModel, password?: string): Observable {\r\n let userLogin: string;\r\n let userPassword: string;\r\n\r\n if (typeof login === 'string') {\r\n if (password === undefined) {\r\n throw new TypeError('password can\\'t be null when login is string');\r\n }\r\n\r\n userLogin = login;\r\n userPassword = password;\r\n } else {\r\n userLogin = login.login;\r\n userPassword = login.password;\r\n }\r\n AuthenticationService.storeCredentials(userLogin, userPassword);\r\n\r\n const headers = new HttpHeaders()\r\n .set('Authorization', 'Basic ' + btoa(userLogin + ':' + userPassword));\r\n\r\n return this.http.get(`${environment.restApi}/users/${userLogin}`, {\r\n headers: headers\r\n })\r\n .pipe(\r\n tap(user => this._loggedUser$.next({\r\n login: userLogin,\r\n password: userPassword\r\n })),\r\n catchError(error => {\r\n this._loggedUser$.next(null);\r\n throw error;\r\n })\r\n );\r\n }\r\n}\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\n// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n restApi: 'http://localhost:9080/DAAExample/rest'\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":"webpack:///","file":"main-es5.js"}
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/modules-people-people-module-es2015.js b/target/m2e-wtp/web-resources/modules-people-people-module-es2015.js
deleted file mode 100644
index 3bc0ffe86402d295e558d1e0f50d6a36d9f7dfab..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/modules-people-people-module-es2015.js
+++ /dev/null
@@ -1,571 +0,0 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["modules-people-people-module"],{
-
-/***/ "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/people/components/people-form/people-form.component.html":
-/*!************************************************************************************************************************!*\
- !*** ./node_modules/raw-loader/dist/cjs.js!./src/app/modules/people/components/people-form/people-form.component.html ***!
- \************************************************************************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony default export */ __webpack_exports__["default"] = ("\r\n\r\n\r\n");
-
-/***/ }),
-
-/***/ "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/people/components/people-list/people-list.component.html":
-/*!************************************************************************************************************************!*\
- !*** ./node_modules/raw-loader/dist/cjs.js!./src/app/modules/people/components/people-list/people-list.component.html ***!
- \************************************************************************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony default export */ __webpack_exports__["default"] = ("\r\n\r\n\r\n \r\n \r\n Nombre \r\n Apellido \r\n \r\n \r\n \r\n \r\n \r\n {{person.name}} \r\n {{person.surname}} \r\n \r\n Edit \r\n Delete \r\n Pets \r\n \r\n \r\n \r\n
\r\n");
-
-/***/ }),
-
-/***/ "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/people/components/people-main/people-main.component.html":
-/*!************************************************************************************************************************!*\
- !*** ./node_modules/raw-loader/dist/cjs.js!./src/app/modules/people/components/people-main/people-main.component.html ***!
- \************************************************************************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony default export */ __webpack_exports__["default"] = ("\r\n\r\nPersonas \r\n \r\n \r\n");
-
-/***/ }),
-
-/***/ "./src/app/modules/people/components/people-form/people-form.component.scss":
-/*!**********************************************************************************!*\
- !*** ./src/app/modules/people/components/people-form/people-form.component.scss ***!
- \**********************************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony default export */ __webpack_exports__["default"] = ("/*!\n * DAA Example\n *\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtZm9ybS9DOlxcVXNlcnNcXE5vZWxpYVxcRGVza3RvcFxcREFBXFxkYWFleGFtcGxlXFxzcmNcXG1haW5cXGFuZ3VsYXIvc3JjXFxhcHBcXG1vZHVsZXNcXHBlb3BsZVxcY29tcG9uZW50c1xccGVvcGxlLWZvcm1cXHBlb3BsZS1mb3JtLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQUFBIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtZm9ybS9wZW9wbGUtZm9ybS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBEQUEgRXhhbXBsZVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTkgLSBNaWd1ZWwgUmVib2lyby1KYXRvLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXHJcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqL1xyXG5cclxuIl19 */");
-
-/***/ }),
-
-/***/ "./src/app/modules/people/components/people-form/people-form.component.ts":
-/*!********************************************************************************!*\
- !*** ./src/app/modules/people/components/people-form/people-form.component.ts ***!
- \********************************************************************************/
-/*! exports provided: PeopleFormComponent */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PeopleFormComponent", function() { return PeopleFormComponent; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var _models_person_model__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../models/person.model */ "./src/app/modules/people/models/person.model.ts");
-/*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
-
-let PeopleFormComponent = class PeopleFormComponent {
- constructor() {
- this.modify = new _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"]();
- this.clean = new _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"]();
- }
- set person(person) {
- this.activePerson = person;
- this.name = person.name;
- this.surname = person.surname;
- }
- get person() {
- return this.activePerson;
- }
- onModify() {
- this.modify.emit({
- id: this.person.id,
- name: this.name,
- surname: this.surname
- });
- }
- onClean() {
- this.clean.emit();
- }
-};
-tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Output"])(),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"])
-], PeopleFormComponent.prototype, "modify", void 0);
-tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Output"])(),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"])
-], PeopleFormComponent.prototype, "clean", void 0);
-tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Input"])(),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _models_person_model__WEBPACK_IMPORTED_MODULE_2__["PersonModel"]),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_models_person_model__WEBPACK_IMPORTED_MODULE_2__["PersonModel"]])
-], PeopleFormComponent.prototype, "person", null);
-PeopleFormComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
- selector: 'app-people-form',
- template: tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(/*! raw-loader!./people-form.component.html */ "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/people/components/people-form/people-form.component.html")).default,
- styles: [tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(/*! ./people-form.component.scss */ "./src/app/modules/people/components/people-form/people-form.component.scss")).default]
- }),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [])
-], PeopleFormComponent);
-
-
-
-/***/ }),
-
-/***/ "./src/app/modules/people/components/people-list/people-list.component.scss":
-/*!**********************************************************************************!*\
- !*** ./src/app/modules/people/components/people-list/people-list.component.scss ***!
- \**********************************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony default export */ __webpack_exports__["default"] = ("/*!\n * DAA Example\n *\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtbGlzdC9DOlxcVXNlcnNcXE5vZWxpYVxcRGVza3RvcFxcREFBXFxkYWFleGFtcGxlXFxzcmNcXG1haW5cXGFuZ3VsYXIvc3JjXFxhcHBcXG1vZHVsZXNcXHBlb3BsZVxcY29tcG9uZW50c1xccGVvcGxlLWxpc3RcXHBlb3BsZS1saXN0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQUFBIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtbGlzdC9wZW9wbGUtbGlzdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBEQUEgRXhhbXBsZVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTkgLSBNaWd1ZWwgUmVib2lyby1KYXRvLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXHJcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqL1xyXG5cclxuIl19 */");
-
-/***/ }),
-
-/***/ "./src/app/modules/people/components/people-list/people-list.component.ts":
-/*!********************************************************************************!*\
- !*** ./src/app/modules/people/components/people-list/people-list.component.ts ***!
- \********************************************************************************/
-/*! exports provided: PeopleListComponent */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PeopleListComponent", function() { return PeopleListComponent; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm2015/router.js");
-/*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
-
-let PeopleListComponent = class PeopleListComponent {
- constructor(router) {
- this.router = router;
- this.people = [];
- this.edit = new _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"]();
- this.delete = new _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"]();
- }
- onEdit(person) {
- this.edit.emit(person);
- }
- onDelete(person) {
- this.delete.emit(person);
- }
- pets(person) {
- this.router.navigate(['//listPets', person.id]);
- }
-};
-PeopleListComponent.ctorParameters = () => [
- { type: _angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"] }
-];
-tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Input"])(),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", Array)
-], PeopleListComponent.prototype, "people", void 0);
-tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Output"])(),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"])
-], PeopleListComponent.prototype, "edit", void 0);
-tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Output"])(),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"])
-], PeopleListComponent.prototype, "delete", void 0);
-PeopleListComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
- selector: 'app-people-list',
- template: tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(/*! raw-loader!./people-list.component.html */ "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/people/components/people-list/people-list.component.html")).default,
- styles: [tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(/*! ./people-list.component.scss */ "./src/app/modules/people/components/people-list/people-list.component.scss")).default]
- }),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"]])
-], PeopleListComponent);
-
-
-
-/***/ }),
-
-/***/ "./src/app/modules/people/components/people-main/people-main.component.scss":
-/*!**********************************************************************************!*\
- !*** ./src/app/modules/people/components/people-main/people-main.component.scss ***!
- \**********************************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony default export */ __webpack_exports__["default"] = ("/*!\n * DAA Example\n *\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtbWFpbi9DOlxcVXNlcnNcXE5vZWxpYVxcRGVza3RvcFxcREFBXFxkYWFleGFtcGxlXFxzcmNcXG1haW5cXGFuZ3VsYXIvc3JjXFxhcHBcXG1vZHVsZXNcXHBlb3BsZVxcY29tcG9uZW50c1xccGVvcGxlLW1haW5cXHBlb3BsZS1tYWluLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQUFBIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtbWFpbi9wZW9wbGUtbWFpbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBEQUEgRXhhbXBsZVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTkgLSBNaWd1ZWwgUmVib2lyby1KYXRvLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXHJcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqL1xyXG5cclxuIl19 */");
-
-/***/ }),
-
-/***/ "./src/app/modules/people/components/people-main/people-main.component.ts":
-/*!********************************************************************************!*\
- !*** ./src/app/modules/people/components/people-main/people-main.component.ts ***!
- \********************************************************************************/
-/*! exports provided: PeopleMainComponent */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PeopleMainComponent", function() { return PeopleMainComponent; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var _services_people_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../services/people.service */ "./src/app/modules/people/services/people.service.ts");
-/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm2015/operators/index.js");
-/*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
-
-
-let PeopleMainComponent = class PeopleMainComponent {
- constructor(peopleService) {
- this.peopleService = peopleService;
- this.people = [];
- this.clearActivePerson();
- }
- ngOnInit() {
- this.peopleService.list()
- .subscribe(people => this.people = people);
- }
- onEdit(person) {
- this.activePerson = person;
- }
- onDelete(person) {
- if (confirm(`¿Estás seguro de que deseas eliminar a ${person.name} ${person.surname}?`)) {
- this.peopleService.delete(person)
- .pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["mergeMap"])(() => this.peopleService.list()))
- .subscribe(people => this.people = people);
- }
- }
- onCleanForm() {
- this.clearActivePerson();
- }
- onModifyForm(person) {
- if (person.id === undefined) {
- this.peopleService.create(person)
- .pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["mergeMap"])(() => this.peopleService.list()))
- .subscribe(people => {
- this.people = people;
- this.clearActivePerson();
- });
- }
- else {
- this.peopleService.modify(person)
- .pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["mergeMap"])(() => this.peopleService.list()))
- .subscribe(people => {
- this.people = people;
- this.clearActivePerson();
- });
- }
- }
- clearActivePerson() {
- this.activePerson = { id: undefined, name: '', surname: '' };
- }
-};
-PeopleMainComponent.ctorParameters = () => [
- { type: _services_people_service__WEBPACK_IMPORTED_MODULE_2__["PeopleService"] }
-];
-PeopleMainComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
- selector: 'app-people-main',
- template: tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(/*! raw-loader!./people-main.component.html */ "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/people/components/people-main/people-main.component.html")).default,
- styles: [tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(/*! ./people-main.component.scss */ "./src/app/modules/people/components/people-main/people-main.component.scss")).default]
- }),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_services_people_service__WEBPACK_IMPORTED_MODULE_2__["PeopleService"]])
-], PeopleMainComponent);
-
-
-
-/***/ }),
-
-/***/ "./src/app/modules/people/models/person.model.ts":
-/*!*******************************************************!*\
- !*** ./src/app/modules/people/models/person.model.ts ***!
- \*******************************************************/
-/*! exports provided: PersonModel */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PersonModel", function() { return PersonModel; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-class PersonModel {
-}
-
-
-/***/ }),
-
-/***/ "./src/app/modules/people/people-routing.module.ts":
-/*!*********************************************************!*\
- !*** ./src/app/modules/people/people-routing.module.ts ***!
- \*********************************************************/
-/*! exports provided: PeopleRoutingModule */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PeopleRoutingModule", function() { return PeopleRoutingModule; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm2015/router.js");
-/* harmony import */ var _components_people_main_people_main_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/people-main/people-main.component */ "./src/app/modules/people/components/people-main/people-main.component.ts");
-/*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
-
-
-const routes = [
- {
- path: '',
- component: _components_people_main_people_main_component__WEBPACK_IMPORTED_MODULE_3__["PeopleMainComponent"]
- }
-];
-let PeopleRoutingModule = class PeopleRoutingModule {
-};
-PeopleRoutingModule = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
- imports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"].forChild(routes)],
- exports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"]]
- })
-], PeopleRoutingModule);
-
-
-
-/***/ }),
-
-/***/ "./src/app/modules/people/people.module.ts":
-/*!*************************************************!*\
- !*** ./src/app/modules/people/people.module.ts ***!
- \*************************************************/
-/*! exports provided: PeopleModule */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PeopleModule", function() { return PeopleModule; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm2015/common.js");
-/* harmony import */ var _people_routing_module__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./people-routing.module */ "./src/app/modules/people/people-routing.module.ts");
-/* harmony import */ var _components_people_list_people_list_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/people-list/people-list.component */ "./src/app/modules/people/components/people-list/people-list.component.ts");
-/* harmony import */ var _components_people_form_people_form_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/people-form/people-form.component */ "./src/app/modules/people/components/people-form/people-form.component.ts");
-/* harmony import */ var _components_people_main_people_main_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/people-main/people-main.component */ "./src/app/modules/people/components/people-main/people-main.component.ts");
-/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/fesm2015/forms.js");
-/*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
-
-
-
-
-
-
-let PeopleModule = class PeopleModule {
-};
-PeopleModule = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
- declarations: [
- _components_people_form_people_form_component__WEBPACK_IMPORTED_MODULE_5__["PeopleFormComponent"],
- _components_people_list_people_list_component__WEBPACK_IMPORTED_MODULE_4__["PeopleListComponent"],
- _components_people_main_people_main_component__WEBPACK_IMPORTED_MODULE_6__["PeopleMainComponent"]
- ],
- imports: [
- _angular_common__WEBPACK_IMPORTED_MODULE_2__["CommonModule"],
- _angular_forms__WEBPACK_IMPORTED_MODULE_7__["FormsModule"],
- _people_routing_module__WEBPACK_IMPORTED_MODULE_3__["PeopleRoutingModule"]
- ]
- })
-], PeopleModule);
-
-
-
-/***/ }),
-
-/***/ "./src/app/modules/people/services/people.service.ts":
-/*!***********************************************************!*\
- !*** ./src/app/modules/people/services/people.service.ts ***!
- \***********************************************************/
-/*! exports provided: PeopleService */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PeopleService", function() { return PeopleService; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm2015/http.js");
-/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../environments/environment */ "./src/environments/environment.ts");
-/*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
-
-
-let PeopleService = class PeopleService {
- constructor(http) {
- this.http = http;
- }
- list() {
- return this.http.get(`${_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].restApi}/people`);
- }
- create(person) {
- const data = new _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpParams"]()
- .set('name', person.name)
- .set('surname', person.surname);
- return this.http.post(`${_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].restApi}/people`, data);
- }
- modify(person) {
- const data = new _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpParams"]()
- .set('name', person.name)
- .set('surname', person.surname);
- return this.http.put(`${_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].restApi}/people/${person.id}`, data);
- }
- delete(person) {
- return this.http.delete(`${_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].restApi}/people/${person.id}`);
- }
-};
-PeopleService.ctorParameters = () => [
- { type: _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"] }
-];
-PeopleService = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({
- providedIn: 'root'
- }),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"]])
-], PeopleService);
-
-
-
-/***/ })
-
-}]);
-//# sourceMappingURL=modules-people-people-module-es2015.js.map
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/modules-people-people-module-es2015.js.map b/target/m2e-wtp/web-resources/modules-people-people-module-es2015.js.map
deleted file mode 100644
index 1fc06c23bf688f1c77443ef20ab9a1c7a2f79a9c..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/modules-people-people-module-es2015.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["./src/app/modules/people/components/people-form/people-form.component.html","./src/app/modules/people/components/people-list/people-list.component.html","./src/app/modules/people/components/people-main/people-main.component.html","./src/app/modules/people/components/people-form/people-form.component.scss","./src/app/modules/people/components/people-form/people-form.component.ts","./src/app/modules/people/components/people-list/people-list.component.scss","./src/app/modules/people/components/people-list/people-list.component.ts","./src/app/modules/people/components/people-main/people-main.component.scss","./src/app/modules/people/components/people-main/people-main.component.ts","./src/app/modules/people/models/person.model.ts","./src/app/modules/people/people-routing.module.ts","./src/app/modules/people/people.module.ts","./src/app/modules/people/services/people.service.ts"],"names":[],"mappings":"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","file":"modules-people-people-module-es2015.js","sourcesContent":["export default \"\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n Nombre \\r\\n Apellido \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{person.name}} \\r\\n {{person.surname}} \\r\\n \\r\\n Edit \\r\\n Delete \\r\\n Pets \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"\\r\\n\\r\\nPersonas \\r\\n \\r\\n \\r\\n\"","export default \"/*!\\n * DAA Example\\n *\\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU General Public License as published by\\n * the Free Software Foundation, either version 3 of the License, or\\n * (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU General Public License for more details.\\n *\\n * You should have received a copy of the GNU General Public License\\n * along with this program. If not, see .\\n */\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtZm9ybS9DOlxcVXNlcnNcXE5vZWxpYVxcRGVza3RvcFxcREFBXFxkYWFleGFtcGxlXFxzcmNcXG1haW5cXGFuZ3VsYXIvc3JjXFxhcHBcXG1vZHVsZXNcXHBlb3BsZVxcY29tcG9uZW50c1xccGVvcGxlLWZvcm1cXHBlb3BsZS1mb3JtLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQUFBIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtZm9ybS9wZW9wbGUtZm9ybS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBEQUEgRXhhbXBsZVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTkgLSBNaWd1ZWwgUmVib2lyby1KYXRvLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXHJcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqL1xyXG5cclxuIl19 */\"","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {PersonModel} from '../../models/person.model';\r\n\r\n@Component({\r\n selector: 'app-people-form',\r\n templateUrl: './people-form.component.html',\r\n styleUrls: ['./people-form.component.scss']\r\n})\r\nexport class PeopleFormComponent {\r\n public activePerson: PersonModel;\r\n\r\n @Output()\r\n public readonly modify: EventEmitter;\r\n @Output()\r\n public readonly clean: EventEmitter;\r\n\r\n public name: string;\r\n public surname: string;\r\n\r\n public constructor() {\r\n this.modify = new EventEmitter();\r\n this.clean = new EventEmitter();\r\n }\r\n\r\n @Input()\r\n public set person(person: PersonModel) {\r\n this.activePerson = person;\r\n this.name = person.name;\r\n this.surname = person.surname;\r\n }\r\n\r\n public get person(): PersonModel {\r\n return this.activePerson;\r\n }\r\n\r\n public onModify() {\r\n this.modify.emit({\r\n id: this.person.id,\r\n name: this.name,\r\n surname: this.surname\r\n });\r\n }\r\n\r\n public onClean() {\r\n this.clean.emit();\r\n }\r\n}\r\n","export default \"/*!\\n * DAA Example\\n *\\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU General Public License as published by\\n * the Free Software Foundation, either version 3 of the License, or\\n * (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU General Public License for more details.\\n *\\n * You should have received a copy of the GNU General Public License\\n * along with this program. If not, see .\\n */\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtbGlzdC9DOlxcVXNlcnNcXE5vZWxpYVxcRGVza3RvcFxcREFBXFxkYWFleGFtcGxlXFxzcmNcXG1haW5cXGFuZ3VsYXIvc3JjXFxhcHBcXG1vZHVsZXNcXHBlb3BsZVxcY29tcG9uZW50c1xccGVvcGxlLWxpc3RcXHBlb3BsZS1saXN0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQUFBIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtbGlzdC9wZW9wbGUtbGlzdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBEQUEgRXhhbXBsZVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTkgLSBNaWd1ZWwgUmVib2lyby1KYXRvLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXHJcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqL1xyXG5cclxuIl19 */\"","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {PersonModel} from '../../models/person.model';\r\nimport {PeopleService} from '../../services/people.service';\r\nimport {Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-people-list',\r\n templateUrl: './people-list.component.html',\r\n styleUrls: ['./people-list.component.scss']\r\n})\r\nexport class PeopleListComponent {\r\n\r\n @Input()\r\n public people: PersonModel[] = [];\r\n\r\n @Output()\r\n public readonly edit: EventEmitter;\r\n @Output()\r\n public readonly delete: EventEmitter;\r\n\r\n public constructor(private readonly router: Router) {\r\n this.edit = new EventEmitter();\r\n this.delete = new EventEmitter();\r\n }\r\n\r\n public onEdit(person: PersonModel) {\r\n this.edit.emit(person);\r\n }\r\n\r\n public onDelete(person: PersonModel) {\r\n this.delete.emit(person);\r\n }\r\n\r\n public pets(person: PersonModel){\r\n this.router.navigate(['//listPets',person.id]);\r\n }\r\n}\r\n","export default \"/*!\\n * DAA Example\\n *\\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU General Public License as published by\\n * the Free Software Foundation, either version 3 of the License, or\\n * (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU General Public License for more details.\\n *\\n * You should have received a copy of the GNU General Public License\\n * along with this program. If not, see .\\n */\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtbWFpbi9DOlxcVXNlcnNcXE5vZWxpYVxcRGVza3RvcFxcREFBXFxkYWFleGFtcGxlXFxzcmNcXG1haW5cXGFuZ3VsYXIvc3JjXFxhcHBcXG1vZHVsZXNcXHBlb3BsZVxcY29tcG9uZW50c1xccGVvcGxlLW1haW5cXHBlb3BsZS1tYWluLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQUFBIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtbWFpbi9wZW9wbGUtbWFpbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBEQUEgRXhhbXBsZVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTkgLSBNaWd1ZWwgUmVib2lyby1KYXRvLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXHJcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqL1xyXG5cclxuIl19 */\"","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport {PersonModel} from '../../models/person.model';\r\nimport {PeopleService} from '../../services/people.service';\r\nimport {map, mergeMap} from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-people-main',\r\n templateUrl: './people-main.component.html',\r\n styleUrls: ['./people-main.component.scss']\r\n})\r\nexport class PeopleMainComponent implements OnInit {\r\n public activePerson: PersonModel;\r\n public people: PersonModel[];\r\n\r\n public constructor(\r\n private readonly peopleService: PeopleService\r\n ) {\r\n this.people = [];\r\n this.clearActivePerson();\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.peopleService.list()\r\n .subscribe(people => this.people = people);\r\n }\r\n\r\n public onEdit(person: PersonModel): void {\r\n this.activePerson = person;\r\n }\r\n\r\n public onDelete(person: PersonModel): void {\r\n if (confirm(`¿Estás seguro de que deseas eliminar a ${person.name} ${person.surname}?`)) {\r\n this.peopleService.delete(person)\r\n .pipe(\r\n mergeMap(() => this.peopleService.list())\r\n )\r\n .subscribe(people => this.people = people);\r\n }\r\n }\r\n\r\n public onCleanForm(): void {\r\n this.clearActivePerson();\r\n }\r\n\r\n public onModifyForm(person: PersonModel): void {\r\n if (person.id === undefined) {\r\n this.peopleService.create(person)\r\n .pipe(\r\n mergeMap(() => this.peopleService.list())\r\n )\r\n .subscribe(people => {\r\n this.people = people;\r\n this.clearActivePerson();\r\n });\r\n } else {\r\n this.peopleService.modify(person)\r\n .pipe(\r\n mergeMap(() => this.peopleService.list())\r\n )\r\n .subscribe(people => {\r\n this.people = people;\r\n this.clearActivePerson();\r\n });\r\n }\r\n }\r\n\r\n private clearActivePerson(): void {\r\n this.activePerson = { id: undefined, name: '', surname: '' };\r\n }\r\n}\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nexport class PersonModel {\r\n id?: number;\r\n name: string;\r\n surname: string;\r\n}\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {NgModule} from '@angular/core';\r\nimport {RouterModule, Routes} from '@angular/router';\r\nimport {PeopleMainComponent} from './components/people-main/people-main.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: PeopleMainComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class PeopleRoutingModule { }\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\nimport {PeopleRoutingModule} from './people-routing.module';\r\nimport {PeopleListComponent} from './components/people-list/people-list.component';\r\nimport {PeopleFormComponent} from './components/people-form/people-form.component';\r\nimport {PeopleMainComponent} from './components/people-main/people-main.component';\r\nimport {FormsModule} from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [\r\n PeopleFormComponent,\r\n PeopleListComponent,\r\n PeopleMainComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n PeopleRoutingModule\r\n ]\r\n})\r\nexport class PeopleModule {\r\n}\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {Injectable} from '@angular/core';\r\nimport {HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';\r\nimport {environment} from '../../../../environments/environment';\r\nimport {Observable} from 'rxjs';\r\nimport {PersonModel} from '../models/person.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PeopleService {\r\n\r\n public constructor(private readonly http: HttpClient) { }\r\n\r\n public list(): Observable {\r\n return this.http.get(`${environment.restApi}/people`);\r\n }\r\n\r\n public create(person: PersonModel): Observable {\r\n const data = new HttpParams()\r\n .set('name', person.name)\r\n .set('surname', person.surname);\r\n\r\n return this.http.post(`${environment.restApi}/people`, data);\r\n }\r\n\r\n public modify(person: PersonModel): Observable {\r\n const data = new HttpParams()\r\n .set('name', person.name)\r\n .set('surname', person.surname);\r\n\r\n return this.http.put(`${environment.restApi}/people/${person.id}`, data);\r\n }\r\n\r\n public delete(person: PersonModel): Observable {\r\n return this.http.delete(`${environment.restApi}/people/${person.id}`);\r\n }\r\n}\r\n"],"sourceRoot":"webpack:///"}
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/modules-people-people-module-es5.js b/target/m2e-wtp/web-resources/modules-people-people-module-es5.js
deleted file mode 100644
index 5e82290c7c37798ca19c539f5e81eaf8116c2fce..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/modules-people-people-module-es5.js
+++ /dev/null
@@ -1,850 +0,0 @@
-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; }
-
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["modules-people-people-module"], {
- /***/
- "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/people/components/people-form/people-form.component.html":
- /*!************************************************************************************************************************!*\
- !*** ./node_modules/raw-loader/dist/cjs.js!./src/app/modules/people/components/people-form/people-form.component.html ***!
- \************************************************************************************************************************/
-
- /*! exports provided: default */
-
- /***/
- function node_modulesRawLoaderDistCjsJsSrcAppModulesPeopleComponentsPeopleFormPeopleFormComponentHtml(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */
-
-
- __webpack_exports__["default"] = "\r\n\r\n\r\n";
- /***/
- },
-
- /***/
- "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/people/components/people-list/people-list.component.html":
- /*!************************************************************************************************************************!*\
- !*** ./node_modules/raw-loader/dist/cjs.js!./src/app/modules/people/components/people-list/people-list.component.html ***!
- \************************************************************************************************************************/
-
- /*! exports provided: default */
-
- /***/
- function node_modulesRawLoaderDistCjsJsSrcAppModulesPeopleComponentsPeopleListPeopleListComponentHtml(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */
-
-
- __webpack_exports__["default"] = "\r\n\r\n\r\n \r\n \r\n Nombre \r\n Apellido \r\n \r\n \r\n \r\n \r\n \r\n {{person.name}} \r\n {{person.surname}} \r\n \r\n Edit \r\n Delete \r\n Pets \r\n \r\n \r\n \r\n
\r\n";
- /***/
- },
-
- /***/
- "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/people/components/people-main/people-main.component.html":
- /*!************************************************************************************************************************!*\
- !*** ./node_modules/raw-loader/dist/cjs.js!./src/app/modules/people/components/people-main/people-main.component.html ***!
- \************************************************************************************************************************/
-
- /*! exports provided: default */
-
- /***/
- function node_modulesRawLoaderDistCjsJsSrcAppModulesPeopleComponentsPeopleMainPeopleMainComponentHtml(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */
-
-
- __webpack_exports__["default"] = "\r\n\r\nPersonas \r\n \r\n \r\n";
- /***/
- },
-
- /***/
- "./src/app/modules/people/components/people-form/people-form.component.scss":
- /*!**********************************************************************************!*\
- !*** ./src/app/modules/people/components/people-form/people-form.component.scss ***!
- \**********************************************************************************/
-
- /*! exports provided: default */
-
- /***/
- function srcAppModulesPeopleComponentsPeopleFormPeopleFormComponentScss(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */
-
-
- __webpack_exports__["default"] = "/*!\n * DAA Example\n *\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtZm9ybS9DOlxcVXNlcnNcXE5vZWxpYVxcRGVza3RvcFxcREFBXFxkYWFleGFtcGxlXFxzcmNcXG1haW5cXGFuZ3VsYXIvc3JjXFxhcHBcXG1vZHVsZXNcXHBlb3BsZVxcY29tcG9uZW50c1xccGVvcGxlLWZvcm1cXHBlb3BsZS1mb3JtLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQUFBIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtZm9ybS9wZW9wbGUtZm9ybS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBEQUEgRXhhbXBsZVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTkgLSBNaWd1ZWwgUmVib2lyby1KYXRvLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXHJcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqL1xyXG5cclxuIl19 */";
- /***/
- },
-
- /***/
- "./src/app/modules/people/components/people-form/people-form.component.ts":
- /*!********************************************************************************!*\
- !*** ./src/app/modules/people/components/people-form/people-form.component.ts ***!
- \********************************************************************************/
-
- /*! exports provided: PeopleFormComponent */
-
- /***/
- function srcAppModulesPeopleComponentsPeopleFormPeopleFormComponentTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "PeopleFormComponent", function () {
- return PeopleFormComponent;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var _models_person_model__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! ../../models/person.model */
- "./src/app/modules/people/models/person.model.ts");
- /*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
- var PeopleFormComponent =
- /*#__PURE__*/
- function () {
- function PeopleFormComponent() {
- _classCallCheck(this, PeopleFormComponent);
-
- this.modify = new _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"]();
- this.clean = new _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"]();
- }
-
- _createClass(PeopleFormComponent, [{
- key: "onModify",
- value: function onModify() {
- this.modify.emit({
- id: this.person.id,
- name: this.name,
- surname: this.surname
- });
- }
- }, {
- key: "onClean",
- value: function onClean() {
- this.clean.emit();
- }
- }, {
- key: "person",
- set: function set(person) {
- this.activePerson = person;
- this.name = person.name;
- this.surname = person.surname;
- },
- get: function get() {
- return this.activePerson;
- }
- }]);
-
- return PeopleFormComponent;
- }();
-
- tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Output"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"])], PeopleFormComponent.prototype, "modify", void 0);
- tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Output"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"])], PeopleFormComponent.prototype, "clean", void 0);
- tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Input"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _models_person_model__WEBPACK_IMPORTED_MODULE_2__["PersonModel"]), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_models_person_model__WEBPACK_IMPORTED_MODULE_2__["PersonModel"]])], PeopleFormComponent.prototype, "person", null);
- PeopleFormComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
- selector: 'app-people-form',
- template: tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(
- /*! raw-loader!./people-form.component.html */
- "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/people/components/people-form/people-form.component.html")).default,
- styles: [tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(
- /*! ./people-form.component.scss */
- "./src/app/modules/people/components/people-form/people-form.component.scss")).default]
- }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [])], PeopleFormComponent);
- /***/
- },
-
- /***/
- "./src/app/modules/people/components/people-list/people-list.component.scss":
- /*!**********************************************************************************!*\
- !*** ./src/app/modules/people/components/people-list/people-list.component.scss ***!
- \**********************************************************************************/
-
- /*! exports provided: default */
-
- /***/
- function srcAppModulesPeopleComponentsPeopleListPeopleListComponentScss(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */
-
-
- __webpack_exports__["default"] = "/*!\n * DAA Example\n *\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtbGlzdC9DOlxcVXNlcnNcXE5vZWxpYVxcRGVza3RvcFxcREFBXFxkYWFleGFtcGxlXFxzcmNcXG1haW5cXGFuZ3VsYXIvc3JjXFxhcHBcXG1vZHVsZXNcXHBlb3BsZVxcY29tcG9uZW50c1xccGVvcGxlLWxpc3RcXHBlb3BsZS1saXN0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQUFBIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtbGlzdC9wZW9wbGUtbGlzdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBEQUEgRXhhbXBsZVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTkgLSBNaWd1ZWwgUmVib2lyby1KYXRvLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXHJcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqL1xyXG5cclxuIl19 */";
- /***/
- },
-
- /***/
- "./src/app/modules/people/components/people-list/people-list.component.ts":
- /*!********************************************************************************!*\
- !*** ./src/app/modules/people/components/people-list/people-list.component.ts ***!
- \********************************************************************************/
-
- /*! exports provided: PeopleListComponent */
-
- /***/
- function srcAppModulesPeopleComponentsPeopleListPeopleListComponentTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "PeopleListComponent", function () {
- return PeopleListComponent;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! @angular/router */
- "./node_modules/@angular/router/fesm2015/router.js");
- /*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
- var PeopleListComponent =
- /*#__PURE__*/
- function () {
- function PeopleListComponent(router) {
- _classCallCheck(this, PeopleListComponent);
-
- this.router = router;
- this.people = [];
- this.edit = new _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"]();
- this.delete = new _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"]();
- }
-
- _createClass(PeopleListComponent, [{
- key: "onEdit",
- value: function onEdit(person) {
- this.edit.emit(person);
- }
- }, {
- key: "onDelete",
- value: function onDelete(person) {
- this.delete.emit(person);
- }
- }, {
- key: "pets",
- value: function pets(person) {
- this.router.navigate(['//listPets', person.id]);
- }
- }]);
-
- return PeopleListComponent;
- }();
-
- PeopleListComponent.ctorParameters = function () {
- return [{
- type: _angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"]
- }];
- };
-
- tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Input"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", Array)], PeopleListComponent.prototype, "people", void 0);
- tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Output"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"])], PeopleListComponent.prototype, "edit", void 0);
- tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Output"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"])], PeopleListComponent.prototype, "delete", void 0);
- PeopleListComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
- selector: 'app-people-list',
- template: tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(
- /*! raw-loader!./people-list.component.html */
- "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/people/components/people-list/people-list.component.html")).default,
- styles: [tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(
- /*! ./people-list.component.scss */
- "./src/app/modules/people/components/people-list/people-list.component.scss")).default]
- }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"]])], PeopleListComponent);
- /***/
- },
-
- /***/
- "./src/app/modules/people/components/people-main/people-main.component.scss":
- /*!**********************************************************************************!*\
- !*** ./src/app/modules/people/components/people-main/people-main.component.scss ***!
- \**********************************************************************************/
-
- /*! exports provided: default */
-
- /***/
- function srcAppModulesPeopleComponentsPeopleMainPeopleMainComponentScss(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */
-
-
- __webpack_exports__["default"] = "/*!\n * DAA Example\n *\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtbWFpbi9DOlxcVXNlcnNcXE5vZWxpYVxcRGVza3RvcFxcREFBXFxkYWFleGFtcGxlXFxzcmNcXG1haW5cXGFuZ3VsYXIvc3JjXFxhcHBcXG1vZHVsZXNcXHBlb3BsZVxcY29tcG9uZW50c1xccGVvcGxlLW1haW5cXHBlb3BsZS1tYWluLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQUFBIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtbWFpbi9wZW9wbGUtbWFpbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBEQUEgRXhhbXBsZVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTkgLSBNaWd1ZWwgUmVib2lyby1KYXRvLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXHJcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqL1xyXG5cclxuIl19 */";
- /***/
- },
-
- /***/
- "./src/app/modules/people/components/people-main/people-main.component.ts":
- /*!********************************************************************************!*\
- !*** ./src/app/modules/people/components/people-main/people-main.component.ts ***!
- \********************************************************************************/
-
- /*! exports provided: PeopleMainComponent */
-
- /***/
- function srcAppModulesPeopleComponentsPeopleMainPeopleMainComponentTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "PeopleMainComponent", function () {
- return PeopleMainComponent;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var _services_people_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! ../../services/people.service */
- "./src/app/modules/people/services/people.service.ts");
- /* harmony import */
-
-
- var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
- /*! rxjs/operators */
- "./node_modules/rxjs/_esm2015/operators/index.js");
- /*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
- var PeopleMainComponent =
- /*#__PURE__*/
- function () {
- function PeopleMainComponent(peopleService) {
- _classCallCheck(this, PeopleMainComponent);
-
- this.peopleService = peopleService;
- this.people = [];
- this.clearActivePerson();
- }
-
- _createClass(PeopleMainComponent, [{
- key: "ngOnInit",
- value: function ngOnInit() {
- var _this = this;
-
- this.peopleService.list().subscribe(function (people) {
- return _this.people = people;
- });
- }
- }, {
- key: "onEdit",
- value: function onEdit(person) {
- this.activePerson = person;
- }
- }, {
- key: "onDelete",
- value: function onDelete(person) {
- var _this2 = this;
-
- if (confirm("\xBFEst\xE1s seguro de que deseas eliminar a ".concat(person.name, " ").concat(person.surname, "?"))) {
- this.peopleService.delete(person).pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["mergeMap"])(function () {
- return _this2.peopleService.list();
- })).subscribe(function (people) {
- return _this2.people = people;
- });
- }
- }
- }, {
- key: "onCleanForm",
- value: function onCleanForm() {
- this.clearActivePerson();
- }
- }, {
- key: "onModifyForm",
- value: function onModifyForm(person) {
- var _this3 = this;
-
- if (person.id === undefined) {
- this.peopleService.create(person).pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["mergeMap"])(function () {
- return _this3.peopleService.list();
- })).subscribe(function (people) {
- _this3.people = people;
-
- _this3.clearActivePerson();
- });
- } else {
- this.peopleService.modify(person).pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["mergeMap"])(function () {
- return _this3.peopleService.list();
- })).subscribe(function (people) {
- _this3.people = people;
-
- _this3.clearActivePerson();
- });
- }
- }
- }, {
- key: "clearActivePerson",
- value: function clearActivePerson() {
- this.activePerson = {
- id: undefined,
- name: '',
- surname: ''
- };
- }
- }]);
-
- return PeopleMainComponent;
- }();
-
- PeopleMainComponent.ctorParameters = function () {
- return [{
- type: _services_people_service__WEBPACK_IMPORTED_MODULE_2__["PeopleService"]
- }];
- };
-
- PeopleMainComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
- selector: 'app-people-main',
- template: tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(
- /*! raw-loader!./people-main.component.html */
- "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/people/components/people-main/people-main.component.html")).default,
- styles: [tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(
- /*! ./people-main.component.scss */
- "./src/app/modules/people/components/people-main/people-main.component.scss")).default]
- }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_services_people_service__WEBPACK_IMPORTED_MODULE_2__["PeopleService"]])], PeopleMainComponent);
- /***/
- },
-
- /***/
- "./src/app/modules/people/models/person.model.ts":
- /*!*******************************************************!*\
- !*** ./src/app/modules/people/models/person.model.ts ***!
- \*******************************************************/
-
- /*! exports provided: PersonModel */
-
- /***/
- function srcAppModulesPeopleModelsPersonModelTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "PersonModel", function () {
- return PersonModel;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
- var PersonModel = function PersonModel() {
- _classCallCheck(this, PersonModel);
- };
- /***/
-
- },
-
- /***/
- "./src/app/modules/people/people-routing.module.ts":
- /*!*********************************************************!*\
- !*** ./src/app/modules/people/people-routing.module.ts ***!
- \*********************************************************/
-
- /*! exports provided: PeopleRoutingModule */
-
- /***/
- function srcAppModulesPeoplePeopleRoutingModuleTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "PeopleRoutingModule", function () {
- return PeopleRoutingModule;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! @angular/router */
- "./node_modules/@angular/router/fesm2015/router.js");
- /* harmony import */
-
-
- var _components_people_main_people_main_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
- /*! ./components/people-main/people-main.component */
- "./src/app/modules/people/components/people-main/people-main.component.ts");
- /*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
- var routes = [{
- path: '',
- component: _components_people_main_people_main_component__WEBPACK_IMPORTED_MODULE_3__["PeopleMainComponent"]
- }];
-
- var PeopleRoutingModule = function PeopleRoutingModule() {
- _classCallCheck(this, PeopleRoutingModule);
- };
-
- PeopleRoutingModule = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
- imports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"].forChild(routes)],
- exports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"]]
- })], PeopleRoutingModule);
- /***/
- },
-
- /***/
- "./src/app/modules/people/people.module.ts":
- /*!*************************************************!*\
- !*** ./src/app/modules/people/people.module.ts ***!
- \*************************************************/
-
- /*! exports provided: PeopleModule */
-
- /***/
- function srcAppModulesPeoplePeopleModuleTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "PeopleModule", function () {
- return PeopleModule;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var _angular_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! @angular/common */
- "./node_modules/@angular/common/fesm2015/common.js");
- /* harmony import */
-
-
- var _people_routing_module__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
- /*! ./people-routing.module */
- "./src/app/modules/people/people-routing.module.ts");
- /* harmony import */
-
-
- var _components_people_list_people_list_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
- /*! ./components/people-list/people-list.component */
- "./src/app/modules/people/components/people-list/people-list.component.ts");
- /* harmony import */
-
-
- var _components_people_form_people_form_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
- /*! ./components/people-form/people-form.component */
- "./src/app/modules/people/components/people-form/people-form.component.ts");
- /* harmony import */
-
-
- var _components_people_main_people_main_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
- /*! ./components/people-main/people-main.component */
- "./src/app/modules/people/components/people-main/people-main.component.ts");
- /* harmony import */
-
-
- var _angular_forms__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
- /*! @angular/forms */
- "./node_modules/@angular/forms/fesm2015/forms.js");
- /*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
- var PeopleModule = function PeopleModule() {
- _classCallCheck(this, PeopleModule);
- };
-
- PeopleModule = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
- declarations: [_components_people_form_people_form_component__WEBPACK_IMPORTED_MODULE_5__["PeopleFormComponent"], _components_people_list_people_list_component__WEBPACK_IMPORTED_MODULE_4__["PeopleListComponent"], _components_people_main_people_main_component__WEBPACK_IMPORTED_MODULE_6__["PeopleMainComponent"]],
- imports: [_angular_common__WEBPACK_IMPORTED_MODULE_2__["CommonModule"], _angular_forms__WEBPACK_IMPORTED_MODULE_7__["FormsModule"], _people_routing_module__WEBPACK_IMPORTED_MODULE_3__["PeopleRoutingModule"]]
- })], PeopleModule);
- /***/
- },
-
- /***/
- "./src/app/modules/people/services/people.service.ts":
- /*!***********************************************************!*\
- !*** ./src/app/modules/people/services/people.service.ts ***!
- \***********************************************************/
-
- /*! exports provided: PeopleService */
-
- /***/
- function srcAppModulesPeopleServicesPeopleServiceTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "PeopleService", function () {
- return PeopleService;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var _angular_common_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! @angular/common/http */
- "./node_modules/@angular/common/fesm2015/http.js");
- /* harmony import */
-
-
- var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
- /*! ../../../../environments/environment */
- "./src/environments/environment.ts");
- /*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
- var PeopleService =
- /*#__PURE__*/
- function () {
- function PeopleService(http) {
- _classCallCheck(this, PeopleService);
-
- this.http = http;
- }
-
- _createClass(PeopleService, [{
- key: "list",
- value: function list() {
- return this.http.get("".concat(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].restApi, "/people"));
- }
- }, {
- key: "create",
- value: function create(person) {
- var data = new _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpParams"]().set('name', person.name).set('surname', person.surname);
- return this.http.post("".concat(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].restApi, "/people"), data);
- }
- }, {
- key: "modify",
- value: function modify(person) {
- var data = new _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpParams"]().set('name', person.name).set('surname', person.surname);
- return this.http.put("".concat(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].restApi, "/people/").concat(person.id), data);
- }
- }, {
- key: "delete",
- value: function _delete(person) {
- return this.http.delete("".concat(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].restApi, "/people/").concat(person.id));
- }
- }]);
-
- return PeopleService;
- }();
-
- PeopleService.ctorParameters = function () {
- return [{
- type: _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"]
- }];
- };
-
- PeopleService = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({
- providedIn: 'root'
- }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"]])], PeopleService);
- /***/
- }
-}]);
-//# sourceMappingURL=modules-people-people-module-es5.js.map
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/modules-people-people-module-es5.js.map b/target/m2e-wtp/web-resources/modules-people-people-module-es5.js.map
deleted file mode 100644
index 93547e458baeafc22df2174a61f7220e642a2316..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/modules-people-people-module-es5.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["src/app/modules/people/components/people-form/people-form.component.html","src/app/modules/people/components/people-list/people-list.component.html","src/app/modules/people/components/people-main/people-main.component.html","src/app/modules/people/components/people-form/people-form.component.scss","src/app/modules/people/components/people-form/people-form.component.ts","src/app/modules/people/components/people-list/people-list.component.scss","src/app/modules/people/components/people-list/people-list.component.ts","src/app/modules/people/components/people-main/people-main.component.scss","src/app/modules/people/components/people-main/people-main.component.ts","src/app/modules/people/models/person.model.ts","src/app/modules/people/people-routing.module.ts","src/app/modules/people/people.module.ts","src/app/modules/people/services/people.service.ts"],"names":[],"mappings":"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","sourcesContent":["export default \"\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n Nombre \\r\\n Apellido \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{person.name}} \\r\\n {{person.surname}} \\r\\n \\r\\n Edit \\r\\n Delete \\r\\n Pets \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"\\r\\n\\r\\nPersonas \\r\\n \\r\\n \\r\\n\"","export default \"/*!\\n * DAA Example\\n *\\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU General Public License as published by\\n * the Free Software Foundation, either version 3 of the License, or\\n * (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU General Public License for more details.\\n *\\n * You should have received a copy of the GNU General Public License\\n * along with this program. If not, see .\\n */\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtZm9ybS9DOlxcVXNlcnNcXE5vZWxpYVxcRGVza3RvcFxcREFBXFxkYWFleGFtcGxlXFxzcmNcXG1haW5cXGFuZ3VsYXIvc3JjXFxhcHBcXG1vZHVsZXNcXHBlb3BsZVxcY29tcG9uZW50c1xccGVvcGxlLWZvcm1cXHBlb3BsZS1mb3JtLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQUFBIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtZm9ybS9wZW9wbGUtZm9ybS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBEQUEgRXhhbXBsZVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTkgLSBNaWd1ZWwgUmVib2lyby1KYXRvLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXHJcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqL1xyXG5cclxuIl19 */\"","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {PersonModel} from '../../models/person.model';\r\n\r\n@Component({\r\n selector: 'app-people-form',\r\n templateUrl: './people-form.component.html',\r\n styleUrls: ['./people-form.component.scss']\r\n})\r\nexport class PeopleFormComponent {\r\n public activePerson: PersonModel;\r\n\r\n @Output()\r\n public readonly modify: EventEmitter;\r\n @Output()\r\n public readonly clean: EventEmitter;\r\n\r\n public name: string;\r\n public surname: string;\r\n\r\n public constructor() {\r\n this.modify = new EventEmitter();\r\n this.clean = new EventEmitter();\r\n }\r\n\r\n @Input()\r\n public set person(person: PersonModel) {\r\n this.activePerson = person;\r\n this.name = person.name;\r\n this.surname = person.surname;\r\n }\r\n\r\n public get person(): PersonModel {\r\n return this.activePerson;\r\n }\r\n\r\n public onModify() {\r\n this.modify.emit({\r\n id: this.person.id,\r\n name: this.name,\r\n surname: this.surname\r\n });\r\n }\r\n\r\n public onClean() {\r\n this.clean.emit();\r\n }\r\n}\r\n","export default \"/*!\\n * DAA Example\\n *\\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU General Public License as published by\\n * the Free Software Foundation, either version 3 of the License, or\\n * (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU General Public License for more details.\\n *\\n * You should have received a copy of the GNU General Public License\\n * along with this program. If not, see .\\n */\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtbGlzdC9DOlxcVXNlcnNcXE5vZWxpYVxcRGVza3RvcFxcREFBXFxkYWFleGFtcGxlXFxzcmNcXG1haW5cXGFuZ3VsYXIvc3JjXFxhcHBcXG1vZHVsZXNcXHBlb3BsZVxcY29tcG9uZW50c1xccGVvcGxlLWxpc3RcXHBlb3BsZS1saXN0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQUFBIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtbGlzdC9wZW9wbGUtbGlzdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBEQUEgRXhhbXBsZVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTkgLSBNaWd1ZWwgUmVib2lyby1KYXRvLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXHJcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqL1xyXG5cclxuIl19 */\"","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {PersonModel} from '../../models/person.model';\r\nimport {PeopleService} from '../../services/people.service';\r\nimport {Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-people-list',\r\n templateUrl: './people-list.component.html',\r\n styleUrls: ['./people-list.component.scss']\r\n})\r\nexport class PeopleListComponent {\r\n\r\n @Input()\r\n public people: PersonModel[] = [];\r\n\r\n @Output()\r\n public readonly edit: EventEmitter;\r\n @Output()\r\n public readonly delete: EventEmitter;\r\n\r\n public constructor(private readonly router: Router) {\r\n this.edit = new EventEmitter();\r\n this.delete = new EventEmitter();\r\n }\r\n\r\n public onEdit(person: PersonModel) {\r\n this.edit.emit(person);\r\n }\r\n\r\n public onDelete(person: PersonModel) {\r\n this.delete.emit(person);\r\n }\r\n\r\n public pets(person: PersonModel){\r\n this.router.navigate(['//listPets',person.id]);\r\n }\r\n}\r\n","export default \"/*!\\n * DAA Example\\n *\\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU General Public License as published by\\n * the Free Software Foundation, either version 3 of the License, or\\n * (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU General Public License for more details.\\n *\\n * You should have received a copy of the GNU General Public License\\n * along with this program. If not, see .\\n */\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtbWFpbi9DOlxcVXNlcnNcXE5vZWxpYVxcRGVza3RvcFxcREFBXFxkYWFleGFtcGxlXFxzcmNcXG1haW5cXGFuZ3VsYXIvc3JjXFxhcHBcXG1vZHVsZXNcXHBlb3BsZVxcY29tcG9uZW50c1xccGVvcGxlLW1haW5cXHBlb3BsZS1tYWluLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQUFBIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9wZW9wbGUvY29tcG9uZW50cy9wZW9wbGUtbWFpbi9wZW9wbGUtbWFpbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBEQUEgRXhhbXBsZVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTkgLSBNaWd1ZWwgUmVib2lyby1KYXRvLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXHJcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqL1xyXG5cclxuIl19 */\"","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport {PersonModel} from '../../models/person.model';\r\nimport {PeopleService} from '../../services/people.service';\r\nimport {map, mergeMap} from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-people-main',\r\n templateUrl: './people-main.component.html',\r\n styleUrls: ['./people-main.component.scss']\r\n})\r\nexport class PeopleMainComponent implements OnInit {\r\n public activePerson: PersonModel;\r\n public people: PersonModel[];\r\n\r\n public constructor(\r\n private readonly peopleService: PeopleService\r\n ) {\r\n this.people = [];\r\n this.clearActivePerson();\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.peopleService.list()\r\n .subscribe(people => this.people = people);\r\n }\r\n\r\n public onEdit(person: PersonModel): void {\r\n this.activePerson = person;\r\n }\r\n\r\n public onDelete(person: PersonModel): void {\r\n if (confirm(`¿Estás seguro de que deseas eliminar a ${person.name} ${person.surname}?`)) {\r\n this.peopleService.delete(person)\r\n .pipe(\r\n mergeMap(() => this.peopleService.list())\r\n )\r\n .subscribe(people => this.people = people);\r\n }\r\n }\r\n\r\n public onCleanForm(): void {\r\n this.clearActivePerson();\r\n }\r\n\r\n public onModifyForm(person: PersonModel): void {\r\n if (person.id === undefined) {\r\n this.peopleService.create(person)\r\n .pipe(\r\n mergeMap(() => this.peopleService.list())\r\n )\r\n .subscribe(people => {\r\n this.people = people;\r\n this.clearActivePerson();\r\n });\r\n } else {\r\n this.peopleService.modify(person)\r\n .pipe(\r\n mergeMap(() => this.peopleService.list())\r\n )\r\n .subscribe(people => {\r\n this.people = people;\r\n this.clearActivePerson();\r\n });\r\n }\r\n }\r\n\r\n private clearActivePerson(): void {\r\n this.activePerson = { id: undefined, name: '', surname: '' };\r\n }\r\n}\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nexport class PersonModel {\r\n id?: number;\r\n name: string;\r\n surname: string;\r\n}\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {NgModule} from '@angular/core';\r\nimport {RouterModule, Routes} from '@angular/router';\r\nimport {PeopleMainComponent} from './components/people-main/people-main.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: PeopleMainComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class PeopleRoutingModule { }\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\nimport {PeopleRoutingModule} from './people-routing.module';\r\nimport {PeopleListComponent} from './components/people-list/people-list.component';\r\nimport {PeopleFormComponent} from './components/people-form/people-form.component';\r\nimport {PeopleMainComponent} from './components/people-main/people-main.component';\r\nimport {FormsModule} from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [\r\n PeopleFormComponent,\r\n PeopleListComponent,\r\n PeopleMainComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n PeopleRoutingModule\r\n ]\r\n})\r\nexport class PeopleModule {\r\n}\r\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\nimport {Injectable} from '@angular/core';\r\nimport {HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';\r\nimport {environment} from '../../../../environments/environment';\r\nimport {Observable} from 'rxjs';\r\nimport {PersonModel} from '../models/person.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PeopleService {\r\n\r\n public constructor(private readonly http: HttpClient) { }\r\n\r\n public list(): Observable {\r\n return this.http.get(`${environment.restApi}/people`);\r\n }\r\n\r\n public create(person: PersonModel): Observable {\r\n const data = new HttpParams()\r\n .set('name', person.name)\r\n .set('surname', person.surname);\r\n\r\n return this.http.post(`${environment.restApi}/people`, data);\r\n }\r\n\r\n public modify(person: PersonModel): Observable {\r\n const data = new HttpParams()\r\n .set('name', person.name)\r\n .set('surname', person.surname);\r\n\r\n return this.http.put(`${environment.restApi}/people/${person.id}`, data);\r\n }\r\n\r\n public delete(person: PersonModel): Observable {\r\n return this.http.delete(`${environment.restApi}/people/${person.id}`);\r\n }\r\n}\r\n"],"sourceRoot":"webpack:///","file":"modules-people-people-module-es5.js"}
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/modules-pets-pets-module-es2015.js b/target/m2e-wtp/web-resources/modules-pets-pets-module-es2015.js
deleted file mode 100644
index 7fcf089dae78825ee39f107424ab3881000a2031..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/modules-pets-pets-module-es2015.js
+++ /dev/null
@@ -1,463 +0,0 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["modules-pets-pets-module"],{
-
-/***/ "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/pets/components/pets-form/pets-form.component.html":
-/*!******************************************************************************************************************!*\
- !*** ./node_modules/raw-loader/dist/cjs.js!./src/app/modules/pets/components/pets-form/pets-form.component.html ***!
- \******************************************************************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony default export */ __webpack_exports__["default"] = ("\r\n \r\n\r\n");
-
-/***/ }),
-
-/***/ "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/pets/components/pets-list/pets-list.component.html":
-/*!******************************************************************************************************************!*\
- !*** ./node_modules/raw-loader/dist/cjs.js!./src/app/modules/pets/components/pets-list/pets-list.component.html ***!
- \******************************************************************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony default export */ __webpack_exports__["default"] = ("\r\n\r\n \r\n \r\n Nombre \r\n Tipo \r\n \r\n \r\n \r\n \r\n \r\n {{pet.name}} \r\n {{pet.kind}} \r\n \r\n Edit \r\n Delete \r\n \r\n \r\n \r\n
\r\n\r\n\r\n");
-
-/***/ }),
-
-/***/ "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/pets/components/pets-main/pets-main.component.html":
-/*!******************************************************************************************************************!*\
- !*** ./node_modules/raw-loader/dist/cjs.js!./src/app/modules/pets/components/pets-main/pets-main.component.html ***!
- \******************************************************************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony default export */ __webpack_exports__["default"] = ("\r\nMascotas \r\n\r\n\r\n \r\n \r\nAtrás ");
-
-/***/ }),
-
-/***/ "./src/app/modules/pets/components/pets-form/pets-form.component.scss":
-/*!****************************************************************************!*\
- !*** ./src/app/modules/pets/components/pets-form/pets-form.component.scss ***!
- \****************************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony default export */ __webpack_exports__["default"] = ("\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcGV0cy9jb21wb25lbnRzL3BldHMtZm9ybS9wZXRzLWZvcm0uY29tcG9uZW50LnNjc3MifQ== */");
-
-/***/ }),
-
-/***/ "./src/app/modules/pets/components/pets-form/pets-form.component.ts":
-/*!**************************************************************************!*\
- !*** ./src/app/modules/pets/components/pets-form/pets-form.component.ts ***!
- \**************************************************************************/
-/*! exports provided: PetsFormComponent */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PetsFormComponent", function() { return PetsFormComponent; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm2015/router.js");
-/* harmony import */ var _models_pet_model__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../models/pet.model */ "./src/app/modules/pets/models/pet.model.ts");
-
-
-
-
-let PetsFormComponent = class PetsFormComponent {
- constructor(route) {
- this.route = route;
- this.clean = new _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"]();
- this.modify = new _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"]();
- }
- set pet(pet) {
- this.activePet = pet;
- this.name = pet.name;
- this.kind = pet.kind;
- }
- get pet() {
- return this.activePet;
- }
- onClean() {
- this.clean.emit();
- }
- onModify() {
- this.modify.emit({
- id: this.pet.id,
- name: this.name,
- kind: this.kind,
- owner: this.owner
- });
- }
-};
-PetsFormComponent.ctorParameters = () => [
- { type: _angular_router__WEBPACK_IMPORTED_MODULE_2__["ActivatedRoute"] }
-];
-tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Input"])(),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", Number)
-], PetsFormComponent.prototype, "owner", void 0);
-tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Output"])(),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"])
-], PetsFormComponent.prototype, "clean", void 0);
-tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Output"])(),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"])
-], PetsFormComponent.prototype, "modify", void 0);
-tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Input"])(),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _models_pet_model__WEBPACK_IMPORTED_MODULE_3__["PetModel"]),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_models_pet_model__WEBPACK_IMPORTED_MODULE_3__["PetModel"]])
-], PetsFormComponent.prototype, "pet", null);
-PetsFormComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
- selector: 'app-pets-form',
- template: tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(/*! raw-loader!./pets-form.component.html */ "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/pets/components/pets-form/pets-form.component.html")).default,
- styles: [tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(/*! ./pets-form.component.scss */ "./src/app/modules/pets/components/pets-form/pets-form.component.scss")).default]
- }),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_2__["ActivatedRoute"]])
-], PetsFormComponent);
-
-
-
-/***/ }),
-
-/***/ "./src/app/modules/pets/components/pets-list/pets-list.component.scss":
-/*!****************************************************************************!*\
- !*** ./src/app/modules/pets/components/pets-list/pets-list.component.scss ***!
- \****************************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony default export */ __webpack_exports__["default"] = ("\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcGV0cy9jb21wb25lbnRzL3BldHMtbGlzdC9wZXRzLWxpc3QuY29tcG9uZW50LnNjc3MifQ== */");
-
-/***/ }),
-
-/***/ "./src/app/modules/pets/components/pets-list/pets-list.component.ts":
-/*!**************************************************************************!*\
- !*** ./src/app/modules/pets/components/pets-list/pets-list.component.ts ***!
- \**************************************************************************/
-/*! exports provided: PetsListComponent */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PetsListComponent", function() { return PetsListComponent; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-
-
-let PetsListComponent = class PetsListComponent {
- constructor() {
- this.pets = [];
- this.delete = new _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"]();
- this.edit = new _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"]();
- }
- onDelete(pet) {
- this.delete.emit(pet);
- }
- onEdit(pet) {
- this.edit.emit(pet);
- }
-};
-tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Input"])(),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", Array)
-], PetsListComponent.prototype, "pets", void 0);
-tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Output"])(),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"])
-], PetsListComponent.prototype, "delete", void 0);
-tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Output"])(),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"])
-], PetsListComponent.prototype, "edit", void 0);
-PetsListComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
- selector: 'app-pets-list',
- template: tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(/*! raw-loader!./pets-list.component.html */ "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/pets/components/pets-list/pets-list.component.html")).default,
- styles: [tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(/*! ./pets-list.component.scss */ "./src/app/modules/pets/components/pets-list/pets-list.component.scss")).default]
- }),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [])
-], PetsListComponent);
-
-
-
-/***/ }),
-
-/***/ "./src/app/modules/pets/components/pets-main/pets-main.component.scss":
-/*!****************************************************************************!*\
- !*** ./src/app/modules/pets/components/pets-main/pets-main.component.scss ***!
- \****************************************************************************/
-/*! exports provided: default */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony default export */ __webpack_exports__["default"] = ("\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcGV0cy9jb21wb25lbnRzL3BldHMtbWFpbi9wZXRzLW1haW4uY29tcG9uZW50LnNjc3MifQ== */");
-
-/***/ }),
-
-/***/ "./src/app/modules/pets/components/pets-main/pets-main.component.ts":
-/*!**************************************************************************!*\
- !*** ./src/app/modules/pets/components/pets-main/pets-main.component.ts ***!
- \**************************************************************************/
-/*! exports provided: PetsMainComponent */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PetsMainComponent", function() { return PetsMainComponent; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var _services_pets_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../services/pets.service */ "./src/app/modules/pets/services/pets.service.ts");
-/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm2015/operators/index.js");
-/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm2015/router.js");
-
-
-
-
-
-let PetsMainComponent = class PetsMainComponent {
- constructor(petsService, route, router) {
- this.petsService = petsService;
- this.route = route;
- this.router = router;
- this.pets = [];
- this.clearActivePet();
- }
- ngOnInit() {
- this.id = this.route.snapshot.params.person;
- this.petsService.list(this.id)
- .subscribe(pets => this.pets = pets);
- }
- onCleanForm() {
- this.clearActivePet();
- }
- clearActivePet() {
- this.activePet = { id: undefined, name: '', kind: '', owner: undefined };
- }
- back() {
- this.router.navigate(['/']);
- }
- onDelete(pet) {
- if (confirm(`¿Estás seguro de que deseas eliminar a ${pet.name}?`)) {
- this.petsService.delete(pet)
- .pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["mergeMap"])(() => this.petsService.list(pet.owner)))
- .subscribe(pets => this.pets = pets);
- }
- }
- onEdit(pet) {
- this.activePet = pet;
- console.log("Noe");
- console.log(this.activePet);
- }
- onModifyForm(pet) {
- if (pet.id === undefined) {
- this.petsService.create(pet)
- .pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["mergeMap"])(() => this.petsService.list(pet.owner)))
- .subscribe(pets => {
- this.pets = pets;
- this.clearActivePet();
- });
- }
- else {
- this.petsService.modify(pet)
- .pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["mergeMap"])(() => this.petsService.list(pet.owner)))
- .subscribe(pets => {
- this.pets = pets;
- this.clearActivePet();
- });
- }
- }
-};
-PetsMainComponent.ctorParameters = () => [
- { type: _services_pets_service__WEBPACK_IMPORTED_MODULE_2__["PetsService"] },
- { type: _angular_router__WEBPACK_IMPORTED_MODULE_4__["ActivatedRoute"] },
- { type: _angular_router__WEBPACK_IMPORTED_MODULE_4__["Router"] }
-];
-PetsMainComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
- selector: 'app-pets-main',
- template: tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(/*! raw-loader!./pets-main.component.html */ "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/pets/components/pets-main/pets-main.component.html")).default,
- styles: [tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(/*! ./pets-main.component.scss */ "./src/app/modules/pets/components/pets-main/pets-main.component.scss")).default]
- }),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_services_pets_service__WEBPACK_IMPORTED_MODULE_2__["PetsService"],
- _angular_router__WEBPACK_IMPORTED_MODULE_4__["ActivatedRoute"],
- _angular_router__WEBPACK_IMPORTED_MODULE_4__["Router"]])
-], PetsMainComponent);
-
-
-
-/***/ }),
-
-/***/ "./src/app/modules/pets/models/pet.model.ts":
-/*!**************************************************!*\
- !*** ./src/app/modules/pets/models/pet.model.ts ***!
- \**************************************************/
-/*! exports provided: PetModel */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PetModel", function() { return PetModel; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-
-class PetModel {
-}
-
-
-/***/ }),
-
-/***/ "./src/app/modules/pets/pets-routing.module.ts":
-/*!*****************************************************!*\
- !*** ./src/app/modules/pets/pets-routing.module.ts ***!
- \*****************************************************/
-/*! exports provided: PetsRoutingModule */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PetsRoutingModule", function() { return PetsRoutingModule; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm2015/router.js");
-/* harmony import */ var _components_pets_main_pets_main_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/pets-main/pets-main.component */ "./src/app/modules/pets/components/pets-main/pets-main.component.ts");
-
-
-
-
-const routes = [
- {
- path: '',
- component: _components_pets_main_pets_main_component__WEBPACK_IMPORTED_MODULE_3__["PetsMainComponent"]
- }
-];
-let PetsRoutingModule = class PetsRoutingModule {
-};
-PetsRoutingModule = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
- imports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"].forChild(routes)],
- exports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"]]
- })
-], PetsRoutingModule);
-
-
-
-/***/ }),
-
-/***/ "./src/app/modules/pets/pets.module.ts":
-/*!*********************************************!*\
- !*** ./src/app/modules/pets/pets.module.ts ***!
- \*********************************************/
-/*! exports provided: PetsModule */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PetsModule", function() { return PetsModule; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm2015/common.js");
-/* harmony import */ var _pets_routing_module__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pets-routing.module */ "./src/app/modules/pets/pets-routing.module.ts");
-/* harmony import */ var _components_pets_list_pets_list_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/pets-list/pets-list.component */ "./src/app/modules/pets/components/pets-list/pets-list.component.ts");
-/* harmony import */ var _components_pets_form_pets_form_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/pets-form/pets-form.component */ "./src/app/modules/pets/components/pets-form/pets-form.component.ts");
-/* harmony import */ var _components_pets_main_pets_main_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/pets-main/pets-main.component */ "./src/app/modules/pets/components/pets-main/pets-main.component.ts");
-/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/fesm2015/forms.js");
-
-
-
-
-
-
-
-
-let PetsModule = class PetsModule {
-};
-PetsModule = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
- declarations: [
- _components_pets_form_pets_form_component__WEBPACK_IMPORTED_MODULE_5__["PetsFormComponent"],
- _components_pets_list_pets_list_component__WEBPACK_IMPORTED_MODULE_4__["PetsListComponent"],
- _components_pets_main_pets_main_component__WEBPACK_IMPORTED_MODULE_6__["PetsMainComponent"]
- ],
- imports: [
- _angular_common__WEBPACK_IMPORTED_MODULE_2__["CommonModule"],
- _angular_forms__WEBPACK_IMPORTED_MODULE_7__["FormsModule"],
- _pets_routing_module__WEBPACK_IMPORTED_MODULE_3__["PetsRoutingModule"]
- ]
- })
-], PetsModule);
-
-
-
-/***/ }),
-
-/***/ "./src/app/modules/pets/services/pets.service.ts":
-/*!*******************************************************!*\
- !*** ./src/app/modules/pets/services/pets.service.ts ***!
- \*******************************************************/
-/*! exports provided: PetsService */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PetsService", function() { return PetsService; });
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm2015/core.js");
-/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm2015/http.js");
-/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../environments/environment */ "./src/environments/environment.ts");
-
-
-
-
-let PetsService = class PetsService {
- constructor(http) {
- this.http = http;
- }
- list(id) {
- return this.http.get(`${_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].restApi}/pets?owner=${id}`);
- }
- delete(pet) {
- return this.http.delete(`${_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].restApi}/pets/${pet.id}`);
- }
- modify(pet) {
- const data = new _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpParams"]()
- .set('name', pet.name)
- .set('kind', pet.kind)
- .set('owner', pet.owner.toString());
- return this.http.put(`${_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].restApi}/pets/${pet.id}`, data);
- }
- create(pet) {
- const data = new _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpParams"]()
- .set('name', pet.name)
- .set('kind', pet.kind)
- .set('owner', pet.owner.toString());
- return this.http.post(`${_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].restApi}/pets`, data);
- }
-};
-PetsService.ctorParameters = () => [
- { type: _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"] }
-];
-PetsService = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([
- Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({
- providedIn: 'root'
- }),
- tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"]])
-], PetsService);
-
-
-
-/***/ })
-
-}]);
-//# sourceMappingURL=modules-pets-pets-module-es2015.js.map
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/modules-pets-pets-module-es2015.js.map b/target/m2e-wtp/web-resources/modules-pets-pets-module-es2015.js.map
deleted file mode 100644
index f30d7e791a12fd6a136f8ae35754b454503754b8..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/modules-pets-pets-module-es2015.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["./src/app/modules/pets/components/pets-form/pets-form.component.html","./src/app/modules/pets/components/pets-list/pets-list.component.html","./src/app/modules/pets/components/pets-main/pets-main.component.html","./src/app/modules/pets/components/pets-form/pets-form.component.scss","./src/app/modules/pets/components/pets-form/pets-form.component.ts","./src/app/modules/pets/components/pets-list/pets-list.component.scss","./src/app/modules/pets/components/pets-list/pets-list.component.ts","./src/app/modules/pets/components/pets-main/pets-main.component.scss","./src/app/modules/pets/components/pets-main/pets-main.component.ts","./src/app/modules/pets/models/pet.model.ts","./src/app/modules/pets/pets-routing.module.ts","./src/app/modules/pets/pets.module.ts","./src/app/modules/pets/services/pets.service.ts"],"names":[],"mappings":"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","file":"modules-pets-pets-module-es2015.js","sourcesContent":["export default \"\\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n \\r\\n \\r\\n Nombre \\r\\n Tipo \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{pet.name}} \\r\\n {{pet.kind}} \\r\\n \\r\\n Edit \\r\\n Delete \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\nMascotas \\r\\n\\r\\n\\r\\n \\r\\n \\r\\nAtrás \"","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcGV0cy9jb21wb25lbnRzL3BldHMtZm9ybS9wZXRzLWZvcm0uY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport { PetModel } from '../../models/pet.model';\r\n\r\n@Component({\r\n selector: 'app-pets-form',\r\n templateUrl: './pets-form.component.html',\r\n styleUrls: ['./pets-form.component.scss']\r\n})\r\nexport class PetsFormComponent {\r\n public activePet: PetModel;\r\n @Input()\r\n public owner: number;\r\n\r\n @Output()\r\n public readonly clean: EventEmitter;\r\n\r\n @Output()\r\n public readonly modify: EventEmitter;\r\n\r\n public name: string;\r\n public kind: string;\r\n \r\n constructor(\r\n private route: ActivatedRoute\r\n ) { \r\n this.clean = new EventEmitter();\r\n this.modify = new EventEmitter();\r\n }\r\n\r\n @Input()\r\n public set pet(pet: PetModel) {\r\n this.activePet = pet;\r\n this.name = pet.name;\r\n this.kind = pet.kind;\r\n }\r\n\r\n public get pet(): PetModel {\r\n return this.activePet;\r\n }\r\n\r\n public onClean() {\r\n this.clean.emit();\r\n }\r\n\r\n public onModify() {\r\n this.modify.emit({\r\n id: this.pet.id,\r\n name: this.name,\r\n kind: this.kind,\r\n owner: this.owner\r\n });\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcGV0cy9jb21wb25lbnRzL3BldHMtbGlzdC9wZXRzLWxpc3QuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, EventEmitter, OnInit, Input, Output } from '@angular/core';\r\nimport { PetModel} from '../../models/pet.model';\r\n@Component({\r\n selector: 'app-pets-list',\r\n templateUrl: './pets-list.component.html',\r\n styleUrls: ['./pets-list.component.scss']\r\n})\r\nexport class PetsListComponent {\r\n \r\n @Input()\r\n public pets: PetModel[] = [];\r\n\r\n @Output()\r\n public readonly delete: EventEmitter;\r\n\r\n @Output()\r\n public readonly edit: EventEmitter;\r\n\r\n constructor() { \r\n this.delete = new EventEmitter();\r\n this.edit = new EventEmitter();\r\n }\r\n\r\n public onDelete(pet: PetModel) {\r\n this.delete.emit(pet);\r\n }\r\n\r\n public onEdit(pet: PetModel) {\r\n this.edit.emit(pet);\r\n }\r\n\r\n \r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcGV0cy9jb21wb25lbnRzL3BldHMtbWFpbi9wZXRzLW1haW4uY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport {PetModel} from '../../models/pet.model';\r\nimport {PetsService} from '../../services/pets.service';\r\nimport {map, mergeMap} from 'rxjs/operators';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'app-pets-main',\r\n templateUrl: './pets-main.component.html',\r\n styleUrls: ['./pets-main.component.scss']\r\n})\r\nexport class PetsMainComponent implements OnInit {\r\n public id : number\r\n public activePet: PetModel;\r\n public pets: PetModel[];\r\n\r\n constructor(\r\n private readonly petsService: PetsService,\r\n private route: ActivatedRoute,\r\n private readonly router: Router\r\n ) { \r\n this.pets = [];\r\n this.clearActivePet()\r\n }\r\n\r\n ngOnInit() {\r\n this.id = this.route.snapshot.params.person;\r\n this.petsService.list(this.id)\r\n .subscribe(pets => this.pets = pets);\r\n \r\n }\r\n\r\n public onCleanForm(): void {\r\n this.clearActivePet();\r\n }\r\n\r\n public clearActivePet():void{\r\n this.activePet = { id: undefined, name: '', kind: '', owner: undefined };\r\n }\r\n\r\n public back(){\r\n this.router.navigate(['/']);\r\n }\r\n\r\n public onDelete(pet: PetModel): void {\r\n if (confirm(`¿Estás seguro de que deseas eliminar a ${pet.name}?`)) {\r\n this.petsService.delete(pet)\r\n .pipe(\r\n mergeMap(() => this.petsService.list(pet.owner))\r\n )\r\n .subscribe(pets => this.pets = pets);\r\n }\r\n }\r\n\r\n public onEdit(pet: PetModel): void {\r\n this.activePet = pet;\r\n console.log(\"Noe\")\r\n console.log(this.activePet)\r\n }\r\n\r\n public onModifyForm(pet: PetModel): void {\r\n if (pet.id === undefined) {\r\n this.petsService.create(pet)\r\n .pipe(\r\n mergeMap(() => this.petsService.list(pet.owner))\r\n )\r\n .subscribe(pets => {\r\n this.pets = pets;\r\n this.clearActivePet();\r\n });\r\n } else {\r\n this.petsService.modify(pet)\r\n .pipe(\r\n mergeMap(() => this.petsService.list(pet.owner))\r\n )\r\n .subscribe(pets => {\r\n this.pets = pets;\r\n this.clearActivePet();\r\n });\r\n }\r\n }\r\n\r\n}\r\n","export class PetModel {\r\n id?: number;\r\n name: string;\r\n kind: string;\r\n owner:number;\r\n }\r\n ","import {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {PetsMainComponent} from './components/pets-main/pets-main.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: PetsMainComponent\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class PetsRoutingModule { }\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {PetsRoutingModule} from './pets-routing.module';\nimport {PetsListComponent} from './components/pets-list/pets-list.component';\nimport {PetsFormComponent} from './components/pets-form/pets-form.component';\nimport {PetsMainComponent} from './components/pets-main/pets-main.component';\nimport {FormsModule} from '@angular/forms';\n\n@NgModule({\n declarations: [\n PetsFormComponent,\n PetsListComponent,\n PetsMainComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n PetsRoutingModule\n ]\n})\nexport class PetsModule { }\n","import { Injectable } from '@angular/core';\r\nimport {HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';\r\nimport {environment} from '../../../../environments/environment';\r\nimport {Observable} from 'rxjs';\r\nimport {PetModel} from '../models/pet.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PetsService {\r\n\r\n constructor(private readonly http: HttpClient) { }\r\n\r\n\r\n\r\n public list(id: number): Observable{\r\n return this.http.get(`${environment.restApi}/pets?owner=${id}`);\r\n }\r\n\r\n public delete(pet: PetModel): Observable {\r\n return this.http.delete(`${environment.restApi}/pets/${pet.id}`);\r\n }\r\n\r\n public modify(pet: PetModel): Observable {\r\n const data = new HttpParams()\r\n .set('name', pet.name)\r\n .set('kind', pet.kind)\r\n .set('owner', pet.owner.toString());\r\n\r\n return this.http.put(`${environment.restApi}/pets/${pet.id}`, data);\r\n }\r\n\r\n public create(pet: PetModel): Observable {\r\n const data = new HttpParams()\r\n .set('name', pet.name)\r\n .set('kind', pet.kind)\r\n .set('owner', pet.owner.toString());\r\n\r\n return this.http.post(`${environment.restApi}/pets`, data);\r\n }\r\n}\r\n"],"sourceRoot":"webpack:///"}
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/modules-pets-pets-module-es5.js b/target/m2e-wtp/web-resources/modules-pets-pets-module-es5.js
deleted file mode 100644
index 366bb4f16ddff99247397bbfd3555b9f53f4a5b7..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/modules-pets-pets-module-es5.js
+++ /dev/null
@@ -1,735 +0,0 @@
-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; }
-
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["modules-pets-pets-module"], {
- /***/
- "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/pets/components/pets-form/pets-form.component.html":
- /*!******************************************************************************************************************!*\
- !*** ./node_modules/raw-loader/dist/cjs.js!./src/app/modules/pets/components/pets-form/pets-form.component.html ***!
- \******************************************************************************************************************/
-
- /*! exports provided: default */
-
- /***/
- function node_modulesRawLoaderDistCjsJsSrcAppModulesPetsComponentsPetsFormPetsFormComponentHtml(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */
-
-
- __webpack_exports__["default"] = "\r\n \r\n\r\n";
- /***/
- },
-
- /***/
- "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/pets/components/pets-list/pets-list.component.html":
- /*!******************************************************************************************************************!*\
- !*** ./node_modules/raw-loader/dist/cjs.js!./src/app/modules/pets/components/pets-list/pets-list.component.html ***!
- \******************************************************************************************************************/
-
- /*! exports provided: default */
-
- /***/
- function node_modulesRawLoaderDistCjsJsSrcAppModulesPetsComponentsPetsListPetsListComponentHtml(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */
-
-
- __webpack_exports__["default"] = "\r\n\r\n \r\n \r\n Nombre \r\n Tipo \r\n \r\n \r\n \r\n \r\n \r\n {{pet.name}} \r\n {{pet.kind}} \r\n \r\n Edit \r\n Delete \r\n \r\n \r\n \r\n
\r\n\r\n\r\n";
- /***/
- },
-
- /***/
- "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/pets/components/pets-main/pets-main.component.html":
- /*!******************************************************************************************************************!*\
- !*** ./node_modules/raw-loader/dist/cjs.js!./src/app/modules/pets/components/pets-main/pets-main.component.html ***!
- \******************************************************************************************************************/
-
- /*! exports provided: default */
-
- /***/
- function node_modulesRawLoaderDistCjsJsSrcAppModulesPetsComponentsPetsMainPetsMainComponentHtml(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */
-
-
- __webpack_exports__["default"] = "\r\nMascotas \r\n\r\n\r\n \r\n \r\nAtrás ";
- /***/
- },
-
- /***/
- "./src/app/modules/pets/components/pets-form/pets-form.component.scss":
- /*!****************************************************************************!*\
- !*** ./src/app/modules/pets/components/pets-form/pets-form.component.scss ***!
- \****************************************************************************/
-
- /*! exports provided: default */
-
- /***/
- function srcAppModulesPetsComponentsPetsFormPetsFormComponentScss(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */
-
-
- __webpack_exports__["default"] = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcGV0cy9jb21wb25lbnRzL3BldHMtZm9ybS9wZXRzLWZvcm0uY29tcG9uZW50LnNjc3MifQ== */";
- /***/
- },
-
- /***/
- "./src/app/modules/pets/components/pets-form/pets-form.component.ts":
- /*!**************************************************************************!*\
- !*** ./src/app/modules/pets/components/pets-form/pets-form.component.ts ***!
- \**************************************************************************/
-
- /*! exports provided: PetsFormComponent */
-
- /***/
- function srcAppModulesPetsComponentsPetsFormPetsFormComponentTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "PetsFormComponent", function () {
- return PetsFormComponent;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! @angular/router */
- "./node_modules/@angular/router/fesm2015/router.js");
- /* harmony import */
-
-
- var _models_pet_model__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
- /*! ../../models/pet.model */
- "./src/app/modules/pets/models/pet.model.ts");
-
- var PetsFormComponent =
- /*#__PURE__*/
- function () {
- function PetsFormComponent(route) {
- _classCallCheck(this, PetsFormComponent);
-
- this.route = route;
- this.clean = new _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"]();
- this.modify = new _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"]();
- }
-
- _createClass(PetsFormComponent, [{
- key: "onClean",
- value: function onClean() {
- this.clean.emit();
- }
- }, {
- key: "onModify",
- value: function onModify() {
- this.modify.emit({
- id: this.pet.id,
- name: this.name,
- kind: this.kind,
- owner: this.owner
- });
- }
- }, {
- key: "pet",
- set: function set(pet) {
- this.activePet = pet;
- this.name = pet.name;
- this.kind = pet.kind;
- },
- get: function get() {
- return this.activePet;
- }
- }]);
-
- return PetsFormComponent;
- }();
-
- PetsFormComponent.ctorParameters = function () {
- return [{
- type: _angular_router__WEBPACK_IMPORTED_MODULE_2__["ActivatedRoute"]
- }];
- };
-
- tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Input"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", Number)], PetsFormComponent.prototype, "owner", void 0);
- tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Output"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"])], PetsFormComponent.prototype, "clean", void 0);
- tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Output"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"])], PetsFormComponent.prototype, "modify", void 0);
- tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Input"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _models_pet_model__WEBPACK_IMPORTED_MODULE_3__["PetModel"]), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_models_pet_model__WEBPACK_IMPORTED_MODULE_3__["PetModel"]])], PetsFormComponent.prototype, "pet", null);
- PetsFormComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
- selector: 'app-pets-form',
- template: tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(
- /*! raw-loader!./pets-form.component.html */
- "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/pets/components/pets-form/pets-form.component.html")).default,
- styles: [tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(
- /*! ./pets-form.component.scss */
- "./src/app/modules/pets/components/pets-form/pets-form.component.scss")).default]
- }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_2__["ActivatedRoute"]])], PetsFormComponent);
- /***/
- },
-
- /***/
- "./src/app/modules/pets/components/pets-list/pets-list.component.scss":
- /*!****************************************************************************!*\
- !*** ./src/app/modules/pets/components/pets-list/pets-list.component.scss ***!
- \****************************************************************************/
-
- /*! exports provided: default */
-
- /***/
- function srcAppModulesPetsComponentsPetsListPetsListComponentScss(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */
-
-
- __webpack_exports__["default"] = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcGV0cy9jb21wb25lbnRzL3BldHMtbGlzdC9wZXRzLWxpc3QuY29tcG9uZW50LnNjc3MifQ== */";
- /***/
- },
-
- /***/
- "./src/app/modules/pets/components/pets-list/pets-list.component.ts":
- /*!**************************************************************************!*\
- !*** ./src/app/modules/pets/components/pets-list/pets-list.component.ts ***!
- \**************************************************************************/
-
- /*! exports provided: PetsListComponent */
-
- /***/
- function srcAppModulesPetsComponentsPetsListPetsListComponentTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "PetsListComponent", function () {
- return PetsListComponent;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
-
- var PetsListComponent =
- /*#__PURE__*/
- function () {
- function PetsListComponent() {
- _classCallCheck(this, PetsListComponent);
-
- this.pets = [];
- this.delete = new _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"]();
- this.edit = new _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"]();
- }
-
- _createClass(PetsListComponent, [{
- key: "onDelete",
- value: function onDelete(pet) {
- this.delete.emit(pet);
- }
- }, {
- key: "onEdit",
- value: function onEdit(pet) {
- this.edit.emit(pet);
- }
- }]);
-
- return PetsListComponent;
- }();
-
- tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Input"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", Array)], PetsListComponent.prototype, "pets", void 0);
- tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Output"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"])], PetsListComponent.prototype, "delete", void 0);
- tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Output"])(), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_1__["EventEmitter"])], PetsListComponent.prototype, "edit", void 0);
- PetsListComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
- selector: 'app-pets-list',
- template: tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(
- /*! raw-loader!./pets-list.component.html */
- "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/pets/components/pets-list/pets-list.component.html")).default,
- styles: [tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(
- /*! ./pets-list.component.scss */
- "./src/app/modules/pets/components/pets-list/pets-list.component.scss")).default]
- }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [])], PetsListComponent);
- /***/
- },
-
- /***/
- "./src/app/modules/pets/components/pets-main/pets-main.component.scss":
- /*!****************************************************************************!*\
- !*** ./src/app/modules/pets/components/pets-main/pets-main.component.scss ***!
- \****************************************************************************/
-
- /*! exports provided: default */
-
- /***/
- function srcAppModulesPetsComponentsPetsMainPetsMainComponentScss(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony default export */
-
-
- __webpack_exports__["default"] = "\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcGV0cy9jb21wb25lbnRzL3BldHMtbWFpbi9wZXRzLW1haW4uY29tcG9uZW50LnNjc3MifQ== */";
- /***/
- },
-
- /***/
- "./src/app/modules/pets/components/pets-main/pets-main.component.ts":
- /*!**************************************************************************!*\
- !*** ./src/app/modules/pets/components/pets-main/pets-main.component.ts ***!
- \**************************************************************************/
-
- /*! exports provided: PetsMainComponent */
-
- /***/
- function srcAppModulesPetsComponentsPetsMainPetsMainComponentTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "PetsMainComponent", function () {
- return PetsMainComponent;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var _services_pets_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! ../../services/pets.service */
- "./src/app/modules/pets/services/pets.service.ts");
- /* harmony import */
-
-
- var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
- /*! rxjs/operators */
- "./node_modules/rxjs/_esm2015/operators/index.js");
- /* harmony import */
-
-
- var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
- /*! @angular/router */
- "./node_modules/@angular/router/fesm2015/router.js");
-
- var PetsMainComponent =
- /*#__PURE__*/
- function () {
- function PetsMainComponent(petsService, route, router) {
- _classCallCheck(this, PetsMainComponent);
-
- this.petsService = petsService;
- this.route = route;
- this.router = router;
- this.pets = [];
- this.clearActivePet();
- }
-
- _createClass(PetsMainComponent, [{
- key: "ngOnInit",
- value: function ngOnInit() {
- var _this = this;
-
- this.id = this.route.snapshot.params.person;
- this.petsService.list(this.id).subscribe(function (pets) {
- return _this.pets = pets;
- });
- }
- }, {
- key: "onCleanForm",
- value: function onCleanForm() {
- this.clearActivePet();
- }
- }, {
- key: "clearActivePet",
- value: function clearActivePet() {
- this.activePet = {
- id: undefined,
- name: '',
- kind: '',
- owner: undefined
- };
- }
- }, {
- key: "back",
- value: function back() {
- this.router.navigate(['/']);
- }
- }, {
- key: "onDelete",
- value: function onDelete(pet) {
- var _this2 = this;
-
- if (confirm("\xBFEst\xE1s seguro de que deseas eliminar a ".concat(pet.name, "?"))) {
- this.petsService.delete(pet).pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["mergeMap"])(function () {
- return _this2.petsService.list(pet.owner);
- })).subscribe(function (pets) {
- return _this2.pets = pets;
- });
- }
- }
- }, {
- key: "onEdit",
- value: function onEdit(pet) {
- this.activePet = pet;
- console.log("Noe");
- console.log(this.activePet);
- }
- }, {
- key: "onModifyForm",
- value: function onModifyForm(pet) {
- var _this3 = this;
-
- if (pet.id === undefined) {
- this.petsService.create(pet).pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["mergeMap"])(function () {
- return _this3.petsService.list(pet.owner);
- })).subscribe(function (pets) {
- _this3.pets = pets;
-
- _this3.clearActivePet();
- });
- } else {
- this.petsService.modify(pet).pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_3__["mergeMap"])(function () {
- return _this3.petsService.list(pet.owner);
- })).subscribe(function (pets) {
- _this3.pets = pets;
-
- _this3.clearActivePet();
- });
- }
- }
- }]);
-
- return PetsMainComponent;
- }();
-
- PetsMainComponent.ctorParameters = function () {
- return [{
- type: _services_pets_service__WEBPACK_IMPORTED_MODULE_2__["PetsService"]
- }, {
- type: _angular_router__WEBPACK_IMPORTED_MODULE_4__["ActivatedRoute"]
- }, {
- type: _angular_router__WEBPACK_IMPORTED_MODULE_4__["Router"]
- }];
- };
-
- PetsMainComponent = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({
- selector: 'app-pets-main',
- template: tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(
- /*! raw-loader!./pets-main.component.html */
- "./node_modules/raw-loader/dist/cjs.js!./src/app/modules/pets/components/pets-main/pets-main.component.html")).default,
- styles: [tslib__WEBPACK_IMPORTED_MODULE_0__["__importDefault"](__webpack_require__(
- /*! ./pets-main.component.scss */
- "./src/app/modules/pets/components/pets-main/pets-main.component.scss")).default]
- }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_services_pets_service__WEBPACK_IMPORTED_MODULE_2__["PetsService"], _angular_router__WEBPACK_IMPORTED_MODULE_4__["ActivatedRoute"], _angular_router__WEBPACK_IMPORTED_MODULE_4__["Router"]])], PetsMainComponent);
- /***/
- },
-
- /***/
- "./src/app/modules/pets/models/pet.model.ts":
- /*!**************************************************!*\
- !*** ./src/app/modules/pets/models/pet.model.ts ***!
- \**************************************************/
-
- /*! exports provided: PetModel */
-
- /***/
- function srcAppModulesPetsModelsPetModelTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "PetModel", function () {
- return PetModel;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
-
- var PetModel = function PetModel() {
- _classCallCheck(this, PetModel);
- };
- /***/
-
- },
-
- /***/
- "./src/app/modules/pets/pets-routing.module.ts":
- /*!*****************************************************!*\
- !*** ./src/app/modules/pets/pets-routing.module.ts ***!
- \*****************************************************/
-
- /*! exports provided: PetsRoutingModule */
-
- /***/
- function srcAppModulesPetsPetsRoutingModuleTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "PetsRoutingModule", function () {
- return PetsRoutingModule;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! @angular/router */
- "./node_modules/@angular/router/fesm2015/router.js");
- /* harmony import */
-
-
- var _components_pets_main_pets_main_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
- /*! ./components/pets-main/pets-main.component */
- "./src/app/modules/pets/components/pets-main/pets-main.component.ts");
-
- var routes = [{
- path: '',
- component: _components_pets_main_pets_main_component__WEBPACK_IMPORTED_MODULE_3__["PetsMainComponent"]
- }];
-
- var PetsRoutingModule = function PetsRoutingModule() {
- _classCallCheck(this, PetsRoutingModule);
- };
-
- PetsRoutingModule = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
- imports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"].forChild(routes)],
- exports: [_angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"]]
- })], PetsRoutingModule);
- /***/
- },
-
- /***/
- "./src/app/modules/pets/pets.module.ts":
- /*!*********************************************!*\
- !*** ./src/app/modules/pets/pets.module.ts ***!
- \*********************************************/
-
- /*! exports provided: PetsModule */
-
- /***/
- function srcAppModulesPetsPetsModuleTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "PetsModule", function () {
- return PetsModule;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var _angular_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! @angular/common */
- "./node_modules/@angular/common/fesm2015/common.js");
- /* harmony import */
-
-
- var _pets_routing_module__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
- /*! ./pets-routing.module */
- "./src/app/modules/pets/pets-routing.module.ts");
- /* harmony import */
-
-
- var _components_pets_list_pets_list_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
- /*! ./components/pets-list/pets-list.component */
- "./src/app/modules/pets/components/pets-list/pets-list.component.ts");
- /* harmony import */
-
-
- var _components_pets_form_pets_form_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
- /*! ./components/pets-form/pets-form.component */
- "./src/app/modules/pets/components/pets-form/pets-form.component.ts");
- /* harmony import */
-
-
- var _components_pets_main_pets_main_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
- /*! ./components/pets-main/pets-main.component */
- "./src/app/modules/pets/components/pets-main/pets-main.component.ts");
- /* harmony import */
-
-
- var _angular_forms__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
- /*! @angular/forms */
- "./node_modules/@angular/forms/fesm2015/forms.js");
-
- var PetsModule = function PetsModule() {
- _classCallCheck(this, PetsModule);
- };
-
- PetsModule = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({
- declarations: [_components_pets_form_pets_form_component__WEBPACK_IMPORTED_MODULE_5__["PetsFormComponent"], _components_pets_list_pets_list_component__WEBPACK_IMPORTED_MODULE_4__["PetsListComponent"], _components_pets_main_pets_main_component__WEBPACK_IMPORTED_MODULE_6__["PetsMainComponent"]],
- imports: [_angular_common__WEBPACK_IMPORTED_MODULE_2__["CommonModule"], _angular_forms__WEBPACK_IMPORTED_MODULE_7__["FormsModule"], _pets_routing_module__WEBPACK_IMPORTED_MODULE_3__["PetsRoutingModule"]]
- })], PetsModule);
- /***/
- },
-
- /***/
- "./src/app/modules/pets/services/pets.service.ts":
- /*!*******************************************************!*\
- !*** ./src/app/modules/pets/services/pets.service.ts ***!
- \*******************************************************/
-
- /*! exports provided: PetsService */
-
- /***/
- function srcAppModulesPetsServicesPetsServiceTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "PetsService", function () {
- return PetsService;
- });
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! @angular/core */
- "./node_modules/@angular/core/fesm2015/core.js");
- /* harmony import */
-
-
- var _angular_common_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! @angular/common/http */
- "./node_modules/@angular/common/fesm2015/http.js");
- /* harmony import */
-
-
- var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
- /*! ../../../../environments/environment */
- "./src/environments/environment.ts");
-
- var PetsService =
- /*#__PURE__*/
- function () {
- function PetsService(http) {
- _classCallCheck(this, PetsService);
-
- this.http = http;
- }
-
- _createClass(PetsService, [{
- key: "list",
- value: function list(id) {
- return this.http.get("".concat(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].restApi, "/pets?owner=").concat(id));
- }
- }, {
- key: "delete",
- value: function _delete(pet) {
- return this.http.delete("".concat(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].restApi, "/pets/").concat(pet.id));
- }
- }, {
- key: "modify",
- value: function modify(pet) {
- var data = new _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpParams"]().set('name', pet.name).set('kind', pet.kind).set('owner', pet.owner.toString());
- return this.http.put("".concat(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].restApi, "/pets/").concat(pet.id), data);
- }
- }, {
- key: "create",
- value: function create(pet) {
- var data = new _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpParams"]().set('name', pet.name).set('kind', pet.kind).set('owner', pet.owner.toString());
- return this.http.post("".concat(_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].restApi, "/pets"), data);
- }
- }]);
-
- return PetsService;
- }();
-
- PetsService.ctorParameters = function () {
- return [{
- type: _angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"]
- }];
- };
-
- PetsService = tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"]([Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"])({
- providedIn: 'root'
- }), tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"]("design:paramtypes", [_angular_common_http__WEBPACK_IMPORTED_MODULE_2__["HttpClient"]])], PetsService);
- /***/
- }
-}]);
-//# sourceMappingURL=modules-pets-pets-module-es5.js.map
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/modules-pets-pets-module-es5.js.map b/target/m2e-wtp/web-resources/modules-pets-pets-module-es5.js.map
deleted file mode 100644
index 6e73f548f209ac92d2d06dc6607abcee164ef7ae..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/modules-pets-pets-module-es5.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["src/app/modules/pets/components/pets-form/pets-form.component.html","src/app/modules/pets/components/pets-list/pets-list.component.html","src/app/modules/pets/components/pets-main/pets-main.component.html","src/app/modules/pets/components/pets-form/pets-form.component.scss","src/app/modules/pets/components/pets-form/pets-form.component.ts","src/app/modules/pets/components/pets-list/pets-list.component.scss","src/app/modules/pets/components/pets-list/pets-list.component.ts","src/app/modules/pets/components/pets-main/pets-main.component.scss","src/app/modules/pets/components/pets-main/pets-main.component.ts","src/app/modules/pets/models/pet.model.ts","src/app/modules/pets/pets-routing.module.ts","src/app/modules/pets/pets.module.ts","src/app/modules/pets/services/pets.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAe;;;AAAA,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,w2BAAA;;;;;;;;;;;;;;;;ACAf,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAe;;;AAAA,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,4sBAAA;;;;;;;;;;;;;;;;ACAf,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAe;;;AAAA,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,oqBAAA;;;;;;;;;;;;;;;;ACAf,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAe;;;AAAA,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,qOAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACSf,QAAa,iBAAb;AAAA;AAAA;AAcE,iCACU,KADV,EAC+B;AAAA;;AAArB,aAAA,KAAA,GAAA,KAAA;AAER,aAAK,KAAL,GAAa,IAAI,0CAAA,CAAA,cAAA,CAAJ,EAAb;AACA,aAAK,MAAL,GAAc,IAAI,0CAAA,CAAA,cAAA,CAAJ,EAAd;AACD;;AAnBH;AAAA;AAAA,kCAgCgB;AACZ,eAAK,KAAL,CAAW,IAAX;AACD;AAlCH;AAAA;AAAA,mCAoCiB;AACb,eAAK,MAAL,CAAY,IAAZ,CAAiB;AACf,YAAA,EAAE,EAAE,KAAK,GAAL,CAAS,EADE;AAEf,YAAA,IAAI,EAAE,KAAK,IAFI;AAGf,YAAA,IAAI,EAAE,KAAK,IAHI;AAIf,YAAA,KAAK,EAAE,KAAK;AAJG,WAAjB;AAMD;AA3CH;AAAA;AAAA,0BAsBiB,GAtBjB,EAsB8B;AAC1B,eAAK,SAAL,GAAiB,GAAjB;AACA,eAAK,IAAL,GAAY,GAAG,CAAC,IAAhB;AACA,eAAK,IAAL,GAAY,GAAG,CAAC,IAAhB;AACD,SA1BH;AAAA,4BA4BgB;AACZ,iBAAO,KAAK,SAAZ;AACD;AA9BH;;AAAA;AAAA,OAAA;;;;cAemB,4CAAA,CAAA,gBAAA;;;;AAZjB,IAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CADC,MAAA,CAAA,0CAAA,CAAA,OAAA,CAAA,CAAA,EACD,E,uEAAA,CAAA,E,2BAAA,E,OAAA,E,KAAqB,CAArB;AAGA,IAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CADC,MAAA,CAAA,0CAAA,CAAA,QAAA,CAAA,CAAA,EACD,E,gEAAuB,0CAAA,CAAA,cAAA,C,CAAvB,CAAA,E,2BAAA,E,OAAA,E,KAA2C,CAA3C;AAGA,IAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CADC,MAAA,CAAA,0CAAA,CAAA,QAAA,CAAA,CAAA,EACD,E,gEAAwB,0CAAA,CAAA,cAAA,C,CAAxB,CAAA,E,2BAAA,E,QAAA,E,KAA+C,CAA/C;AAaA,IAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CADC,MAAA,CAAA,0CAAA,CAAA,OAAA,CAAA,CAAA,EACD,E,gEAAoB,8CAAA,CAAA,UAAA,C,CAApB,E,uEAAoB,8CAAA,CAAA,UAAA,C,EAApB,CAAA,E,2BAAA,E,KAAA,EAIC,IAJD;AAtBW,IAAA,iBAAiB,GAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CAL7B,MAAA,CAAA,0CAAA,CAAA,WAAA,CAAA,CAAA,CAAU;AACT,MAAA,QAAQ,EAAE,eADD;AAET,MAAA,QAAA,EAAA,kCAAA,CAAA,iBAAA,CAAA,CAAA,mBAAA;AAAA;AAAA,kHAAA,CAAA,EAAA,OAFS;;;;AAAA,KAAV,CAK6B,E,uEAeX,4CAAA,CAAA,gBAAA,C,EAfW,CAAA,EAAjB,iBAAiB,CAAjB;;;;;;;;;;;;;;;;ACTb,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAe;;;AAAA,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,qOAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACOf,QAAa,iBAAb;AAAA;AAAA;AAWE,mCAAA;AAAA;;AARO,aAAA,IAAA,GAAmB,EAAnB;AASL,aAAK,MAAL,GAAc,IAAI,0CAAA,CAAA,cAAA,CAAJ,EAAd;AACA,aAAK,IAAL,GAAY,IAAI,0CAAA,CAAA,cAAA,CAAJ,EAAZ;AACD;;AAdH;AAAA;AAAA,iCAgBkB,GAhBlB,EAgB+B;AAC3B,eAAK,MAAL,CAAY,IAAZ,CAAiB,GAAjB;AACD;AAlBH;AAAA;AAAA,+BAoBgB,GApBhB,EAoB6B;AACzB,eAAK,IAAL,CAAU,IAAV,CAAe,GAAf;AACD;AAtBH;;AAAA;AAAA,OAAA;;AAGE,IAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CADC,MAAA,CAAA,0CAAA,CAAA,OAAA,CAAA,CAAA,EACD,E,sEAAA,CAAA,E,2BAAA,E,MAAA,E,KAA6B,CAA7B;AAGA,IAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CADC,MAAA,CAAA,0CAAA,CAAA,QAAA,CAAA,CAAA,EACD,E,gEAAwB,0CAAA,CAAA,cAAA,C,CAAxB,CAAA,E,2BAAA,E,QAAA,E,KAA+C,CAA/C;AAGA,IAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CADC,MAAA,CAAA,0CAAA,CAAA,QAAA,CAAA,CAAA,EACD,E,gEAAsB,0CAAA,CAAA,cAAA,C,CAAtB,CAAA,E,2BAAA,E,MAAA,E,KAA6C,CAA7C;AATW,IAAA,iBAAiB,GAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CAL7B,MAAA,CAAA,0CAAA,CAAA,WAAA,CAAA,CAAA,CAAU;AACT,MAAA,QAAQ,EAAE,eADD;AAET,MAAA,QAAA,EAAA,kCAAA,CAAA,iBAAA,CAAA,CAAA,mBAAA;AAAA;AAAA,kHAAA,CAAA,EAAA,OAFS;;;;AAAA,KAAV,CAK6B,E,yEAAA,CAAA,EAAjB,iBAAiB,CAAjB;;;;;;;;;;;;;;;;ACPb,IAAA,mBAAA,CAAA,CAAA,CAAA,mBAAA;AAAe;;;AAAA,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,qOAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACYf,QAAa,iBAAb;AAAA;AAAA;AAKE,iCACmB,WADnB,EAEU,KAFV,EAGmB,MAHnB,EAGiC;AAAA;;AAFd,aAAA,WAAA,GAAA,WAAA;AACT,aAAA,KAAA,GAAA,KAAA;AACS,aAAA,MAAA,GAAA,MAAA;AAEjB,aAAK,IAAL,GAAY,EAAZ;AACA,aAAK,cAAL;AACD;;AAZH;AAAA;AAAA,mCAcU;AAAA;;AACN,eAAK,EAAL,GAAU,KAAK,KAAL,CAAW,QAAX,CAAoB,MAApB,CAA2B,MAArC;AACA,eAAK,WAAL,CAAiB,IAAjB,CAAsB,KAAK,EAA3B,EACG,SADH,CACa,UAAA,IAAI;AAAA,mBAAI,KAAI,CAAC,IAAL,GAAY,IAAhB;AAAA,WADjB;AAGD;AAnBH;AAAA;AAAA,sCAqBoB;AAChB,eAAK,cAAL;AACD;AAvBH;AAAA;AAAA,yCAyBuB;AACnB,eAAK,SAAL,GAAiB;AAAE,YAAA,EAAE,EAAE,SAAN;AAAiB,YAAA,IAAI,EAAE,EAAvB;AAA2B,YAAA,IAAI,EAAE,EAAjC;AAAqC,YAAA,KAAK,EAAE;AAA5C,WAAjB;AACD;AA3BH;AAAA;AAAA,+BA6Ba;AACT,eAAK,MAAL,CAAY,QAAZ,CAAqB,CAAC,GAAD,CAArB;AACD;AA/BH;AAAA;AAAA,iCAiCkB,GAjClB,EAiC+B;AAAA;;AAC3B,cAAI,OAAO,wDAA2C,GAAG,CAAC,IAA/C,OAAX,EAAoE;AAClE,iBAAK,WAAL,CAAiB,MAAjB,CAAwB,GAAxB,EACG,IADH,CAEI,MAAA,CAAA,2CAAA,CAAA,UAAA,CAAA,CAAA,CAAS;AAAA,qBAAM,MAAI,CAAC,WAAL,CAAiB,IAAjB,CAAsB,GAAG,CAAC,KAA1B,CAAN;AAAA,aAAT,CAFJ,EAIG,SAJH,CAIa,UAAA,IAAI;AAAA,qBAAI,MAAI,CAAC,IAAL,GAAY,IAAhB;AAAA,aAJjB;AAKD;AACF;AAzCH;AAAA;AAAA,+BA2CgB,GA3ChB,EA2C6B;AACzB,eAAK,SAAL,GAAiB,GAAjB;AACA,UAAA,OAAO,CAAC,GAAR,CAAY,KAAZ;AACA,UAAA,OAAO,CAAC,GAAR,CAAY,KAAK,SAAjB;AACD;AA/CH;AAAA;AAAA,qCAiDsB,GAjDtB,EAiDmC;AAAA;;AAC/B,cAAI,GAAG,CAAC,EAAJ,KAAW,SAAf,EAA0B;AACxB,iBAAK,WAAL,CAAiB,MAAjB,CAAwB,GAAxB,EACG,IADH,CAEI,MAAA,CAAA,2CAAA,CAAA,UAAA,CAAA,CAAA,CAAS;AAAA,qBAAM,MAAI,CAAC,WAAL,CAAiB,IAAjB,CAAsB,GAAG,CAAC,KAA1B,CAAN;AAAA,aAAT,CAFJ,EAIG,SAJH,CAIa,UAAA,IAAI,EAAG;AAChB,cAAA,MAAI,CAAC,IAAL,GAAY,IAAZ;;AACA,cAAA,MAAI,CAAC,cAAL;AACD,aAPH;AAQD,WATD,MASO;AACL,iBAAK,WAAL,CAAiB,MAAjB,CAAwB,GAAxB,EACG,IADH,CAEI,MAAA,CAAA,2CAAA,CAAA,UAAA,CAAA,CAAA,CAAS;AAAA,qBAAM,MAAI,CAAC,WAAL,CAAiB,IAAjB,CAAsB,GAAG,CAAC,KAA1B,CAAN;AAAA,aAAT,CAFJ,EAIG,SAJH,CAIa,UAAA,IAAI,EAAG;AAChB,cAAA,MAAI,CAAC,IAAL,GAAY,IAAZ;;AACA,cAAA,MAAI,CAAC,cAAL;AACD,aAPH;AAQD;AACF;AArEH;;AAAA;AAAA,OAAA;;;;cAMkC,mDAAA,CAAA,aAAA;;cACf,4CAAA,CAAA,gBAAA;;cACU,4CAAA,CAAA,QAAA;;;;AARhB,IAAA,iBAAiB,GAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CAL7B,MAAA,CAAA,0CAAA,CAAA,WAAA,CAAA,CAAA,CAAU;AACT,MAAA,QAAQ,EAAE,eADD;AAET,MAAA,QAAA,EAAA,kCAAA,CAAA,iBAAA,CAAA,CAAA,mBAAA;AAAA;AAAA,kHAAA,CAAA,EAAA,OAFS;;;;AAAA,KAAV,CAK6B,E,uEAMI,mDAAA,CAAA,aAAA,C,EACf,4CAAA,CAAA,gBAAA,C,EACU,4CAAA,CAAA,QAAA,C,EARC,CAAA,EAAjB,iBAAiB,CAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QCZA,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACIb,QAAM,MAAM,GAAW,CACrB;AACE,MAAA,IAAI,EAAE,EADR;AAEE,MAAA,SAAS,EAAE,sEAAA,CAAA,mBAAA;AAFb,KADqB,CAAvB;;AAWA,QAAa,iBAAb;AAAA;AAAA,KAAA;;AAAa,IAAA,iBAAiB,GAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CAJ7B,MAAA,CAAA,0CAAA,CAAA,UAAA,CAAA,CAAA,CAAS;AACR,MAAA,OAAO,EAAE,CAAC,4CAAA,CAAA,cAAA,CAAA,CAAa,QAAb,CAAsB,MAAtB,CAAD,CADD;AAER,MAAA,OAAO,EAAE,CAAC,4CAAA,CAAA,cAAA,CAAD;AAFD,KAAT,CAI6B,CAAA,EAAjB,iBAAiB,CAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACMb,QAAa,UAAb;AAAA;AAAA,KAAA;;AAAa,IAAA,UAAU,GAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CAZtB,MAAA,CAAA,0CAAA,CAAA,UAAA,CAAA,CAAA,CAAS;AACR,MAAA,YAAY,EAAE,CACZ,sEAAA,CAAA,mBAAA,CADY,EAEZ,sEAAA,CAAA,mBAAA,CAFY,EAGZ,sEAAA,CAAA,mBAAA,CAHY,CADN;AAMR,MAAA,OAAO,EAAE,CACP,4CAAA,CAAA,cAAA,CADO,EAEP,2CAAA,CAAA,aAAA,CAFO,EAGP,iDAAA,CAAA,mBAAA,CAHO;AAND,KAAT,CAYsB,CAAA,EAAV,UAAU,CAAV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZb,QAAa,WAAb;AAAA;AAAA;AAEE,2BAA6B,IAA7B,EAA6C;AAAA;;AAAhB,aAAA,IAAA,GAAA,IAAA;AAAqB;;AAFpD;AAAA;AAAA,6BAMc,EANd,EAMwB;AACpB,iBAAO,KAAK,IAAL,CAAU,GAAV,WAA6B,sDAAA,CAAA,aAAA,CAAA,CAAY,OAAzC,yBAA+D,EAA/D,EAAP;AACD;AARH;AAAA;AAAA,gCAUgB,GAVhB,EAU6B;AACzB,iBAAO,KAAK,IAAL,CAAU,MAAV,WAA4B,sDAAA,CAAA,aAAA,CAAA,CAAY,OAAxC,mBAAwD,GAAG,CAAC,EAA5D,EAAP;AACD;AAZH;AAAA;AAAA,+BAcgB,GAdhB,EAc6B;AACzB,cAAM,IAAI,GAAG,IAAI,iDAAA,CAAA,YAAA,CAAJ,GACV,GADU,CACN,MADM,EACE,GAAG,CAAC,IADN,EAEV,GAFU,CAEN,MAFM,EAEE,GAAG,CAAC,IAFN,EAGV,GAHU,CAGN,OAHM,EAGG,GAAG,CAAC,KAAJ,CAAU,QAAV,EAHH,CAAb;AAKA,iBAAO,KAAK,IAAL,CAAU,GAAV,WAA2B,sDAAA,CAAA,aAAA,CAAA,CAAY,OAAvC,mBAAuD,GAAG,CAAC,EAA3D,GAAiE,IAAjE,CAAP;AACD;AArBH;AAAA;AAAA,+BAuBgB,GAvBhB,EAuB6B;AACzB,cAAM,IAAI,GAAG,IAAI,iDAAA,CAAA,YAAA,CAAJ,GACV,GADU,CACN,MADM,EACE,GAAG,CAAC,IADN,EAEV,GAFU,CAEN,MAFM,EAEE,GAAG,CAAC,IAFN,EAGV,GAHU,CAGN,OAHM,EAGG,GAAG,CAAC,KAAJ,CAAU,QAAV,EAHH,CAAb;AAKA,iBAAO,KAAK,IAAL,CAAU,IAAV,WAA4B,sDAAA,CAAA,aAAA,CAAA,CAAY,OAAxC,YAAwD,IAAxD,CAAP;AACD;AA9BH;;AAAA;AAAA,OAAA;;;;cAEqC,iDAAA,CAAA,YAAA;;;;AAFxB,IAAA,WAAW,GAAA,kCAAA,CAAA,YAAA,CAAA,CAAA,CAHvB,MAAA,CAAA,0CAAA,CAAA,YAAA,CAAA,CAAA,CAAW;AACV,MAAA,UAAU,EAAE;AADF,KAAX,CAGuB,E,uEAEa,iDAAA,CAAA,YAAA,C,EAFb,CAAA,EAAX,WAAW,CAAX","sourcesContent":["export default \"\\r\\n \\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n \\r\\n \\r\\n Nombre \\r\\n Tipo \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{pet.name}} \\r\\n {{pet.kind}} \\r\\n \\r\\n Edit \\r\\n Delete \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\nMascotas \\r\\n\\r\\n\\r\\n \\r\\n \\r\\nAtrás \"","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcGV0cy9jb21wb25lbnRzL3BldHMtZm9ybS9wZXRzLWZvcm0uY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport { PetModel } from '../../models/pet.model';\r\n\r\n@Component({\r\n selector: 'app-pets-form',\r\n templateUrl: './pets-form.component.html',\r\n styleUrls: ['./pets-form.component.scss']\r\n})\r\nexport class PetsFormComponent {\r\n public activePet: PetModel;\r\n @Input()\r\n public owner: number;\r\n\r\n @Output()\r\n public readonly clean: EventEmitter;\r\n\r\n @Output()\r\n public readonly modify: EventEmitter;\r\n\r\n public name: string;\r\n public kind: string;\r\n \r\n constructor(\r\n private route: ActivatedRoute\r\n ) { \r\n this.clean = new EventEmitter();\r\n this.modify = new EventEmitter();\r\n }\r\n\r\n @Input()\r\n public set pet(pet: PetModel) {\r\n this.activePet = pet;\r\n this.name = pet.name;\r\n this.kind = pet.kind;\r\n }\r\n\r\n public get pet(): PetModel {\r\n return this.activePet;\r\n }\r\n\r\n public onClean() {\r\n this.clean.emit();\r\n }\r\n\r\n public onModify() {\r\n this.modify.emit({\r\n id: this.pet.id,\r\n name: this.name,\r\n kind: this.kind,\r\n owner: this.owner\r\n });\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcGV0cy9jb21wb25lbnRzL3BldHMtbGlzdC9wZXRzLWxpc3QuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, EventEmitter, OnInit, Input, Output } from '@angular/core';\r\nimport { PetModel} from '../../models/pet.model';\r\n@Component({\r\n selector: 'app-pets-list',\r\n templateUrl: './pets-list.component.html',\r\n styleUrls: ['./pets-list.component.scss']\r\n})\r\nexport class PetsListComponent {\r\n \r\n @Input()\r\n public pets: PetModel[] = [];\r\n\r\n @Output()\r\n public readonly delete: EventEmitter;\r\n\r\n @Output()\r\n public readonly edit: EventEmitter;\r\n\r\n constructor() { \r\n this.delete = new EventEmitter();\r\n this.edit = new EventEmitter();\r\n }\r\n\r\n public onDelete(pet: PetModel) {\r\n this.delete.emit(pet);\r\n }\r\n\r\n public onEdit(pet: PetModel) {\r\n this.edit.emit(pet);\r\n }\r\n\r\n \r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcGV0cy9jb21wb25lbnRzL3BldHMtbWFpbi9wZXRzLW1haW4uY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport {PetModel} from '../../models/pet.model';\r\nimport {PetsService} from '../../services/pets.service';\r\nimport {map, mergeMap} from 'rxjs/operators';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'app-pets-main',\r\n templateUrl: './pets-main.component.html',\r\n styleUrls: ['./pets-main.component.scss']\r\n})\r\nexport class PetsMainComponent implements OnInit {\r\n public id : number\r\n public activePet: PetModel;\r\n public pets: PetModel[];\r\n\r\n constructor(\r\n private readonly petsService: PetsService,\r\n private route: ActivatedRoute,\r\n private readonly router: Router\r\n ) { \r\n this.pets = [];\r\n this.clearActivePet()\r\n }\r\n\r\n ngOnInit() {\r\n this.id = this.route.snapshot.params.person;\r\n this.petsService.list(this.id)\r\n .subscribe(pets => this.pets = pets);\r\n \r\n }\r\n\r\n public onCleanForm(): void {\r\n this.clearActivePet();\r\n }\r\n\r\n public clearActivePet():void{\r\n this.activePet = { id: undefined, name: '', kind: '', owner: undefined };\r\n }\r\n\r\n public back(){\r\n this.router.navigate(['/']);\r\n }\r\n\r\n public onDelete(pet: PetModel): void {\r\n if (confirm(`¿Estás seguro de que deseas eliminar a ${pet.name}?`)) {\r\n this.petsService.delete(pet)\r\n .pipe(\r\n mergeMap(() => this.petsService.list(pet.owner))\r\n )\r\n .subscribe(pets => this.pets = pets);\r\n }\r\n }\r\n\r\n public onEdit(pet: PetModel): void {\r\n this.activePet = pet;\r\n console.log(\"Noe\")\r\n console.log(this.activePet)\r\n }\r\n\r\n public onModifyForm(pet: PetModel): void {\r\n if (pet.id === undefined) {\r\n this.petsService.create(pet)\r\n .pipe(\r\n mergeMap(() => this.petsService.list(pet.owner))\r\n )\r\n .subscribe(pets => {\r\n this.pets = pets;\r\n this.clearActivePet();\r\n });\r\n } else {\r\n this.petsService.modify(pet)\r\n .pipe(\r\n mergeMap(() => this.petsService.list(pet.owner))\r\n )\r\n .subscribe(pets => {\r\n this.pets = pets;\r\n this.clearActivePet();\r\n });\r\n }\r\n }\r\n\r\n}\r\n","export class PetModel {\r\n id?: number;\r\n name: string;\r\n kind: string;\r\n owner:number;\r\n }\r\n ","import {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {PetsMainComponent} from './components/pets-main/pets-main.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: PetsMainComponent\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class PetsRoutingModule { }\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {PetsRoutingModule} from './pets-routing.module';\nimport {PetsListComponent} from './components/pets-list/pets-list.component';\nimport {PetsFormComponent} from './components/pets-form/pets-form.component';\nimport {PetsMainComponent} from './components/pets-main/pets-main.component';\nimport {FormsModule} from '@angular/forms';\n\n@NgModule({\n declarations: [\n PetsFormComponent,\n PetsListComponent,\n PetsMainComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n PetsRoutingModule\n ]\n})\nexport class PetsModule { }\n","import { Injectable } from '@angular/core';\r\nimport {HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';\r\nimport {environment} from '../../../../environments/environment';\r\nimport {Observable} from 'rxjs';\r\nimport {PetModel} from '../models/pet.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PetsService {\r\n\r\n constructor(private readonly http: HttpClient) { }\r\n\r\n\r\n\r\n public list(id: number): Observable{\r\n return this.http.get(`${environment.restApi}/pets?owner=${id}`);\r\n }\r\n\r\n public delete(pet: PetModel): Observable {\r\n return this.http.delete(`${environment.restApi}/pets/${pet.id}`);\r\n }\r\n\r\n public modify(pet: PetModel): Observable {\r\n const data = new HttpParams()\r\n .set('name', pet.name)\r\n .set('kind', pet.kind)\r\n .set('owner', pet.owner.toString());\r\n\r\n return this.http.put(`${environment.restApi}/pets/${pet.id}`, data);\r\n }\r\n\r\n public create(pet: PetModel): Observable {\r\n const data = new HttpParams()\r\n .set('name', pet.name)\r\n .set('kind', pet.kind)\r\n .set('owner', pet.owner.toString());\r\n\r\n return this.http.post(`${environment.restApi}/pets`, data);\r\n }\r\n}\r\n"],"sourceRoot":"webpack:///","file":"modules-pets-pets-module-es5.js"}
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/polyfills-es2015.js b/target/m2e-wtp/web-resources/polyfills-es2015.js
deleted file mode 100644
index 65bf6c9c3914ce814ca9747c10f642f3a199bb9d..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/polyfills-es2015.js
+++ /dev/null
@@ -1,6495 +0,0 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["polyfills"],{
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-function.js":
-/*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-function.js ***!
- \*************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
- if (typeof it != 'function') {
- throw TypeError(String(it) + ' is not a function');
- } return it;
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-possible-prototype.js":
-/*!***********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-possible-prototype.js ***!
- \***********************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
-module.exports = function (it) {
- if (!isObject(it) && it !== null) {
- throw TypeError("Can't set " + String(it) + ' as a prototype');
- } return it;
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-instance.js":
-/*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-instance.js ***!
- \**************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-module.exports = function (it, Constructor, name) {
- if (!(it instanceof Constructor)) {
- throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
- } return it;
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js":
-/*!************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js ***!
- \************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
-module.exports = function (it) {
- if (!isObject(it)) {
- throw TypeError(String(it) + ' is not an object');
- } return it;
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-includes.js":
-/*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-includes.js ***!
- \*****************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js");
-var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js");
-var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-absolute-index.js");
-
-// `Array.prototype.{ indexOf, includes }` methods implementation
-var createMethod = function (IS_INCLUDES) {
- return function ($this, el, fromIndex) {
- var O = toIndexedObject($this);
- var length = toLength(O.length);
- var index = toAbsoluteIndex(fromIndex, length);
- var value;
- // Array#includes uses SameValueZero equality algorithm
- // eslint-disable-next-line no-self-compare
- if (IS_INCLUDES && el != el) while (length > index) {
- value = O[index++];
- // eslint-disable-next-line no-self-compare
- if (value != value) return true;
- // Array#indexOf ignores holes, Array#includes - not
- } else for (;length > index; index++) {
- if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
- } return !IS_INCLUDES && -1;
- };
-};
-
-module.exports = {
- // `Array.prototype.includes` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.includes
- includes: createMethod(true),
- // `Array.prototype.indexOf` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
- indexOf: createMethod(false)
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-iteration.js":
-/*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-iteration.js ***!
- \******************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind-context.js");
-var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/indexed-object.js");
-var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js");
-var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js");
-var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-species-create.js");
-
-var push = [].push;
-
-// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-var createMethod = function (TYPE) {
- var IS_MAP = TYPE == 1;
- var IS_FILTER = TYPE == 2;
- var IS_SOME = TYPE == 3;
- var IS_EVERY = TYPE == 4;
- var IS_FIND_INDEX = TYPE == 6;
- var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
- return function ($this, callbackfn, that, specificCreate) {
- var O = toObject($this);
- var self = IndexedObject(O);
- var boundFunction = bind(callbackfn, that, 3);
- var length = toLength(self.length);
- var index = 0;
- var create = specificCreate || arraySpeciesCreate;
- var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
- var value, result;
- for (;length > index; index++) if (NO_HOLES || index in self) {
- value = self[index];
- result = boundFunction(value, index, O);
- if (TYPE) {
- if (IS_MAP) target[index] = result; // map
- else if (result) switch (TYPE) {
- case 3: return true; // some
- case 5: return value; // find
- case 6: return index; // findIndex
- case 2: push.call(target, value); // filter
- } else if (IS_EVERY) return false; // every
- }
- }
- return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
- };
-};
-
-module.exports = {
- // `Array.prototype.forEach` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
- forEach: createMethod(0),
- // `Array.prototype.map` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.map
- map: createMethod(1),
- // `Array.prototype.filter` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.filter
- filter: createMethod(2),
- // `Array.prototype.some` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.some
- some: createMethod(3),
- // `Array.prototype.every` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.every
- every: createMethod(4),
- // `Array.prototype.find` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.find
- find: createMethod(5),
- // `Array.prototype.findIndex` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
- findIndex: createMethod(6)
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-species-create.js":
-/*!***********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-species-create.js ***!
- \***********************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array.js");
-var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
-var SPECIES = wellKnownSymbol('species');
-
-// `ArraySpeciesCreate` abstract operation
-// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-module.exports = function (originalArray, length) {
- var C;
- if (isArray(originalArray)) {
- C = originalArray.constructor;
- // cross-realm fallback
- if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
- else if (isObject(C)) {
- C = C[SPECIES];
- if (C === null) C = undefined;
- }
- } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/call-with-safe-iteration-closing.js":
-/*!***********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/call-with-safe-iteration-closing.js ***!
- \***********************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
-// call something on iterator step with safe closing on error
-module.exports = function (iterator, fn, value, ENTRIES) {
- try {
- return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
- // 7.4.6 IteratorClose(iterator, completion)
- } catch (error) {
- var returnMethod = iterator['return'];
- if (returnMethod !== undefined) anObject(returnMethod.call(iterator));
- throw error;
- }
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/check-correctness-of-iteration.js":
-/*!*********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/check-correctness-of-iteration.js ***!
- \*********************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
-var ITERATOR = wellKnownSymbol('iterator');
-var SAFE_CLOSING = false;
-
-try {
- var called = 0;
- var iteratorWithReturn = {
- next: function () {
- return { done: !!called++ };
- },
- 'return': function () {
- SAFE_CLOSING = true;
- }
- };
- iteratorWithReturn[ITERATOR] = function () {
- return this;
- };
- // eslint-disable-next-line no-throw-literal
- Array.from(iteratorWithReturn, function () { throw 2; });
-} catch (error) { /* empty */ }
-
-module.exports = function (exec, SKIP_CLOSING) {
- if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
- var ITERATION_SUPPORT = false;
- try {
- var object = {};
- object[ITERATOR] = function () {
- return {
- next: function () {
- return { done: ITERATION_SUPPORT = true };
- }
- };
- };
- exec(object);
- } catch (error) { /* empty */ }
- return ITERATION_SUPPORT;
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js":
-/*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js ***!
- \**************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-var toString = {}.toString;
-
-module.exports = function (it) {
- return toString.call(it).slice(8, -1);
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof.js":
-/*!**********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof.js ***!
- \**********************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-string-tag-support.js");
-var classofRaw = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js");
-var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-// ES3 wrong here
-var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
-
-// fallback for IE11 Script Access Denied error
-var tryGet = function (it, key) {
- try {
- return it[key];
- } catch (error) { /* empty */ }
-};
-
-// getting tag from ES6+ `Object.prototype.toString`
-module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
- var O, tag, result;
- return it === undefined ? 'Undefined' : it === null ? 'Null'
- // @@toStringTag case
- : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag
- // builtinTag case
- : CORRECT_ARGUMENTS ? classofRaw(O)
- // ES3 arguments fallback
- : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-strong.js":
-/*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-strong.js ***!
- \********************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js").f;
-var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-create.js");
-var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine-all.js");
-var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind-context.js");
-var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-instance.js");
-var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterate.js");
-var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-iterator.js");
-var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-species.js");
-var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-var fastKey = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js").fastKey;
-var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js");
-
-var setInternalState = InternalStateModule.set;
-var internalStateGetterFor = InternalStateModule.getterFor;
-
-module.exports = {
- getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
- var C = wrapper(function (that, iterable) {
- anInstance(that, C, CONSTRUCTOR_NAME);
- setInternalState(that, {
- type: CONSTRUCTOR_NAME,
- index: create(null),
- first: undefined,
- last: undefined,
- size: 0
- });
- if (!DESCRIPTORS) that.size = 0;
- if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);
- });
-
- var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
-
- var define = function (that, key, value) {
- var state = getInternalState(that);
- var entry = getEntry(that, key);
- var previous, index;
- // change existing entry
- if (entry) {
- entry.value = value;
- // create new entry
- } else {
- state.last = entry = {
- index: index = fastKey(key, true),
- key: key,
- value: value,
- previous: previous = state.last,
- next: undefined,
- removed: false
- };
- if (!state.first) state.first = entry;
- if (previous) previous.next = entry;
- if (DESCRIPTORS) state.size++;
- else that.size++;
- // add to index
- if (index !== 'F') state.index[index] = entry;
- } return that;
- };
-
- var getEntry = function (that, key) {
- var state = getInternalState(that);
- // fast case
- var index = fastKey(key);
- var entry;
- if (index !== 'F') return state.index[index];
- // frozen object case
- for (entry = state.first; entry; entry = entry.next) {
- if (entry.key == key) return entry;
- }
- };
-
- redefineAll(C.prototype, {
- // 23.1.3.1 Map.prototype.clear()
- // 23.2.3.2 Set.prototype.clear()
- clear: function clear() {
- var that = this;
- var state = getInternalState(that);
- var data = state.index;
- var entry = state.first;
- while (entry) {
- entry.removed = true;
- if (entry.previous) entry.previous = entry.previous.next = undefined;
- delete data[entry.index];
- entry = entry.next;
- }
- state.first = state.last = undefined;
- if (DESCRIPTORS) state.size = 0;
- else that.size = 0;
- },
- // 23.1.3.3 Map.prototype.delete(key)
- // 23.2.3.4 Set.prototype.delete(value)
- 'delete': function (key) {
- var that = this;
- var state = getInternalState(that);
- var entry = getEntry(that, key);
- if (entry) {
- var next = entry.next;
- var prev = entry.previous;
- delete state.index[entry.index];
- entry.removed = true;
- if (prev) prev.next = next;
- if (next) next.previous = prev;
- if (state.first == entry) state.first = next;
- if (state.last == entry) state.last = prev;
- if (DESCRIPTORS) state.size--;
- else that.size--;
- } return !!entry;
- },
- // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
- // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
- forEach: function forEach(callbackfn /* , that = undefined */) {
- var state = getInternalState(this);
- var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
- var entry;
- while (entry = entry ? entry.next : state.first) {
- boundFunction(entry.value, entry.key, this);
- // revert to the last existing entry
- while (entry && entry.removed) entry = entry.previous;
- }
- },
- // 23.1.3.7 Map.prototype.has(key)
- // 23.2.3.7 Set.prototype.has(value)
- has: function has(key) {
- return !!getEntry(this, key);
- }
- });
-
- redefineAll(C.prototype, IS_MAP ? {
- // 23.1.3.6 Map.prototype.get(key)
- get: function get(key) {
- var entry = getEntry(this, key);
- return entry && entry.value;
- },
- // 23.1.3.9 Map.prototype.set(key, value)
- set: function set(key, value) {
- return define(this, key === 0 ? 0 : key, value);
- }
- } : {
- // 23.2.3.1 Set.prototype.add(value)
- add: function add(value) {
- return define(this, value = value === 0 ? 0 : value, value);
- }
- });
- if (DESCRIPTORS) defineProperty(C.prototype, 'size', {
- get: function () {
- return getInternalState(this).size;
- }
- });
- return C;
- },
- setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {
- var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';
- var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);
- var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);
- // add .keys, .values, .entries, [@@iterator]
- // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
- defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {
- setInternalState(this, {
- type: ITERATOR_NAME,
- target: iterated,
- state: getInternalCollectionState(iterated),
- kind: kind,
- last: undefined
- });
- }, function () {
- var state = getInternalIteratorState(this);
- var kind = state.kind;
- var entry = state.last;
- // revert to the last existing entry
- while (entry && entry.removed) entry = entry.previous;
- // get next entry
- if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
- // or finish the iteration
- state.target = undefined;
- return { value: undefined, done: true };
- }
- // return step by kind
- if (kind == 'keys') return { value: entry.key, done: false };
- if (kind == 'values') return { value: entry.value, done: false };
- return { value: [entry.key, entry.value], done: false };
- }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-
- // add [@@species], 23.1.2.2, 23.2.2.2
- setSpecies(CONSTRUCTOR_NAME);
- }
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-weak.js":
-/*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-weak.js ***!
- \******************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine-all.js");
-var getWeakData = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js").getWeakData;
-var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-instance.js");
-var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterate.js");
-var ArrayIterationModule = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-iteration.js");
-var $has = __webpack_require__(/*! ../internals/has */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js");
-
-var setInternalState = InternalStateModule.set;
-var internalStateGetterFor = InternalStateModule.getterFor;
-var find = ArrayIterationModule.find;
-var findIndex = ArrayIterationModule.findIndex;
-var id = 0;
-
-// fallback for uncaught frozen keys
-var uncaughtFrozenStore = function (store) {
- return store.frozen || (store.frozen = new UncaughtFrozenStore());
-};
-
-var UncaughtFrozenStore = function () {
- this.entries = [];
-};
-
-var findUncaughtFrozen = function (store, key) {
- return find(store.entries, function (it) {
- return it[0] === key;
- });
-};
-
-UncaughtFrozenStore.prototype = {
- get: function (key) {
- var entry = findUncaughtFrozen(this, key);
- if (entry) return entry[1];
- },
- has: function (key) {
- return !!findUncaughtFrozen(this, key);
- },
- set: function (key, value) {
- var entry = findUncaughtFrozen(this, key);
- if (entry) entry[1] = value;
- else this.entries.push([key, value]);
- },
- 'delete': function (key) {
- var index = findIndex(this.entries, function (it) {
- return it[0] === key;
- });
- if (~index) this.entries.splice(index, 1);
- return !!~index;
- }
-};
-
-module.exports = {
- getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
- var C = wrapper(function (that, iterable) {
- anInstance(that, C, CONSTRUCTOR_NAME);
- setInternalState(that, {
- type: CONSTRUCTOR_NAME,
- id: id++,
- frozen: undefined
- });
- if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);
- });
-
- var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
-
- var define = function (that, key, value) {
- var state = getInternalState(that);
- var data = getWeakData(anObject(key), true);
- if (data === true) uncaughtFrozenStore(state).set(key, value);
- else data[state.id] = value;
- return that;
- };
-
- redefineAll(C.prototype, {
- // 23.3.3.2 WeakMap.prototype.delete(key)
- // 23.4.3.3 WeakSet.prototype.delete(value)
- 'delete': function (key) {
- var state = getInternalState(this);
- if (!isObject(key)) return false;
- var data = getWeakData(key);
- if (data === true) return uncaughtFrozenStore(state)['delete'](key);
- return data && $has(data, state.id) && delete data[state.id];
- },
- // 23.3.3.4 WeakMap.prototype.has(key)
- // 23.4.3.4 WeakSet.prototype.has(value)
- has: function has(key) {
- var state = getInternalState(this);
- if (!isObject(key)) return false;
- var data = getWeakData(key);
- if (data === true) return uncaughtFrozenStore(state).has(key);
- return data && $has(data, state.id);
- }
- });
-
- redefineAll(C.prototype, IS_MAP ? {
- // 23.3.3.3 WeakMap.prototype.get(key)
- get: function get(key) {
- var state = getInternalState(this);
- if (isObject(key)) {
- var data = getWeakData(key);
- if (data === true) return uncaughtFrozenStore(state).get(key);
- return data ? data[state.id] : undefined;
- }
- },
- // 23.3.3.5 WeakMap.prototype.set(key, value)
- set: function set(key, value) {
- return define(this, key, value);
- }
- } : {
- // 23.4.3.1 WeakSet.prototype.add(value)
- add: function add(value) {
- return define(this, value, true);
- }
- });
-
- return C;
- }
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection.js":
-/*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection.js ***!
- \*************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-forced.js");
-var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js");
-var InternalMetadataModule = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js");
-var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterate.js");
-var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-instance.js");
-var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/check-correctness-of-iteration.js");
-var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-to-string-tag.js");
-var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inherit-if-required.js");
-
-module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
- var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;
- var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;
- var ADDER = IS_MAP ? 'set' : 'add';
- var NativeConstructor = global[CONSTRUCTOR_NAME];
- var NativePrototype = NativeConstructor && NativeConstructor.prototype;
- var Constructor = NativeConstructor;
- var exported = {};
-
- var fixMethod = function (KEY) {
- var nativeMethod = NativePrototype[KEY];
- redefine(NativePrototype, KEY,
- KEY == 'add' ? function add(value) {
- nativeMethod.call(this, value === 0 ? 0 : value);
- return this;
- } : KEY == 'delete' ? function (key) {
- return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
- } : KEY == 'get' ? function get(key) {
- return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);
- } : KEY == 'has' ? function has(key) {
- return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
- } : function set(key, value) {
- nativeMethod.call(this, key === 0 ? 0 : key, value);
- return this;
- }
- );
- };
-
- // eslint-disable-next-line max-len
- if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {
- new NativeConstructor().entries().next();
- })))) {
- // create collection constructor
- Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
- InternalMetadataModule.REQUIRED = true;
- } else if (isForced(CONSTRUCTOR_NAME, true)) {
- var instance = new Constructor();
- // early implementations not supports chaining
- var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
- // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
- var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });
- // most early implementations doesn't supports iterables, most modern - not close it correctly
- // eslint-disable-next-line no-new
- var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });
- // for early implementations -0 and +0 not the same
- var BUGGY_ZERO = !IS_WEAK && fails(function () {
- // V8 ~ Chromium 42- fails only with 5+ elements
- var $instance = new NativeConstructor();
- var index = 5;
- while (index--) $instance[ADDER](index, index);
- return !$instance.has(-0);
- });
-
- if (!ACCEPT_ITERABLES) {
- Constructor = wrapper(function (dummy, iterable) {
- anInstance(dummy, Constructor, CONSTRUCTOR_NAME);
- var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
- if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);
- return that;
- });
- Constructor.prototype = NativePrototype;
- NativePrototype.constructor = Constructor;
- }
-
- if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
- fixMethod('delete');
- fixMethod('has');
- IS_MAP && fixMethod('get');
- }
-
- if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);
-
- // weak collections should not contains .clear method
- if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;
- }
-
- exported[CONSTRUCTOR_NAME] = Constructor;
- $({ global: true, forced: Constructor != NativeConstructor }, exported);
-
- setToStringTag(Constructor, CONSTRUCTOR_NAME);
-
- if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);
-
- return Constructor;
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/copy-constructor-properties.js":
-/*!******************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/copy-constructor-properties.js ***!
- \******************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var has = __webpack_require__(/*! ../internals/has */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/own-keys.js");
-var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js");
-var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js");
-
-module.exports = function (target, source) {
- var keys = ownKeys(source);
- var defineProperty = definePropertyModule.f;
- var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
- for (var i = 0; i < keys.length; i++) {
- var key = keys[i];
- if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
- }
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-prototype-getter.js":
-/*!***************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-prototype-getter.js ***!
- \***************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
-module.exports = !fails(function () {
- function F() { /* empty */ }
- F.prototype.constructor = null;
- return Object.getPrototypeOf(new F()) !== F.prototype;
-});
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-iterator-constructor.js":
-/*!******************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-iterator-constructor.js ***!
- \******************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var IteratorPrototype = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators-core.js").IteratorPrototype;
-var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-create.js");
-var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property-descriptor.js");
-var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-to-string-tag.js");
-var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators.js");
-
-var returnThis = function () { return this; };
-
-module.exports = function (IteratorConstructor, NAME, next) {
- var TO_STRING_TAG = NAME + ' Iterator';
- IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
- setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
- Iterators[TO_STRING_TAG] = returnThis;
- return IteratorConstructor;
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js":
-/*!*********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js ***!
- \*********************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js");
-var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property-descriptor.js");
-
-module.exports = DESCRIPTORS ? function (object, key, value) {
- return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
-} : function (object, key, value) {
- object[key] = value;
- return object;
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property-descriptor.js":
-/*!*****************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property-descriptor.js ***!
- \*****************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-module.exports = function (bitmap, value) {
- return {
- enumerable: !(bitmap & 1),
- configurable: !(bitmap & 2),
- writable: !(bitmap & 4),
- value: value
- };
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-iterator.js":
-/*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-iterator.js ***!
- \******************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-var createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-iterator-constructor.js");
-var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js");
-var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-set-prototype-of.js");
-var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-to-string-tag.js");
-var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js");
-var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js");
-var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-pure.js");
-var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators.js");
-var IteratorsCore = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators-core.js");
-
-var IteratorPrototype = IteratorsCore.IteratorPrototype;
-var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
-var ITERATOR = wellKnownSymbol('iterator');
-var KEYS = 'keys';
-var VALUES = 'values';
-var ENTRIES = 'entries';
-
-var returnThis = function () { return this; };
-
-module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
- createIteratorConstructor(IteratorConstructor, NAME, next);
-
- var getIterationMethod = function (KIND) {
- if (KIND === DEFAULT && defaultIterator) return defaultIterator;
- if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];
- switch (KIND) {
- case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
- case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
- case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
- } return function () { return new IteratorConstructor(this); };
- };
-
- var TO_STRING_TAG = NAME + ' Iterator';
- var INCORRECT_VALUES_NAME = false;
- var IterablePrototype = Iterable.prototype;
- var nativeIterator = IterablePrototype[ITERATOR]
- || IterablePrototype['@@iterator']
- || DEFAULT && IterablePrototype[DEFAULT];
- var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
- var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
- var CurrentIteratorPrototype, methods, KEY;
-
- // fix native
- if (anyNativeIterator) {
- CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
- if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
- if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
- if (setPrototypeOf) {
- setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
- } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {
- createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);
- }
- }
- // Set @@toStringTag to native iterators
- setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
- if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;
- }
- }
-
- // fix Array#{values, @@iterator}.name in V8 / FF
- if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
- INCORRECT_VALUES_NAME = true;
- defaultIterator = function values() { return nativeIterator.call(this); };
- }
-
- // define iterator
- if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
- createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);
- }
- Iterators[NAME] = defaultIterator;
-
- // export additional methods
- if (DEFAULT) {
- methods = {
- values: getIterationMethod(VALUES),
- keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
- entries: getIterationMethod(ENTRIES)
- };
- if (FORCED) for (KEY in methods) {
- if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
- redefine(IterablePrototype, KEY, methods[KEY]);
- }
- } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
- }
-
- return methods;
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js":
-/*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js ***!
- \**************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
-// Thank's IE8 for his funny defineProperty
-module.exports = !fails(function () {
- return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
-});
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/document-create-element.js":
-/*!**************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/document-create-element.js ***!
- \**************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
-var document = global.document;
-// typeof document.createElement is 'object' in old IE
-var EXISTS = isObject(document) && isObject(document.createElement);
-
-module.exports = function (it) {
- return EXISTS ? document.createElement(it) : {};
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/enum-bug-keys.js":
-/*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/enum-bug-keys.js ***!
- \****************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-// IE8- don't enum bug keys
-module.exports = [
- 'constructor',
- 'hasOwnProperty',
- 'isPrototypeOf',
- 'propertyIsEnumerable',
- 'toLocaleString',
- 'toString',
- 'valueOf'
-];
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js":
-/*!*********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js ***!
- \*********************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
-var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js");
-var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js");
-var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-global.js");
-var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/copy-constructor-properties.js");
-var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-forced.js");
-
-/*
- options.target - name of the target object
- options.global - target is the global object
- options.stat - export as static methods of target
- options.proto - export as prototype methods of target
- options.real - real prototype method for the `pure` version
- options.forced - export even if the native feature is available
- options.bind - bind methods to the target, required for the `pure` version
- options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
- options.unsafe - use the simple assignment of property instead of delete + defineProperty
- options.sham - add a flag to not completely full polyfills
- options.enumerable - export as enumerable property
- options.noTargetGet - prevent calling a getter on target
-*/
-module.exports = function (options, source) {
- var TARGET = options.target;
- var GLOBAL = options.global;
- var STATIC = options.stat;
- var FORCED, target, key, targetProperty, sourceProperty, descriptor;
- if (GLOBAL) {
- target = global;
- } else if (STATIC) {
- target = global[TARGET] || setGlobal(TARGET, {});
- } else {
- target = (global[TARGET] || {}).prototype;
- }
- if (target) for (key in source) {
- sourceProperty = source[key];
- if (options.noTargetGet) {
- descriptor = getOwnPropertyDescriptor(target, key);
- targetProperty = descriptor && descriptor.value;
- } else targetProperty = target[key];
- FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
- // contained in target
- if (!FORCED && targetProperty !== undefined) {
- if (typeof sourceProperty === typeof targetProperty) continue;
- copyConstructorProperties(sourceProperty, targetProperty);
- }
- // add a flag to not completely full polyfills
- if (options.sham || (targetProperty && targetProperty.sham)) {
- createNonEnumerableProperty(sourceProperty, 'sham', true);
- }
- // extend global
- redefine(target, key, sourceProperty, options);
- }
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js":
-/*!********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js ***!
- \********************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-module.exports = function (exec) {
- try {
- return !!exec();
- } catch (error) {
- return true;
- }
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/freezing.js":
-/*!***********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/freezing.js ***!
- \***********************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
-module.exports = !fails(function () {
- return Object.isExtensible(Object.preventExtensions({}));
-});
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind-context.js":
-/*!************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind-context.js ***!
- \************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-function.js");
-
-// optional / simple context binding
-module.exports = function (fn, that, length) {
- aFunction(fn);
- if (that === undefined) return fn;
- switch (length) {
- case 0: return function () {
- return fn.call(that);
- };
- case 1: return function (a) {
- return fn.call(that, a);
- };
- case 2: return function (a, b) {
- return fn.call(that, a, b);
- };
- case 3: return function (a, b, c) {
- return fn.call(that, a, b, c);
- };
- }
- return function (/* ...args */) {
- return fn.apply(that, arguments);
- };
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js":
-/*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js ***!
- \***************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var path = __webpack_require__(/*! ../internals/path */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/path.js");
-var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
-var aFunction = function (variable) {
- return typeof variable == 'function' ? variable : undefined;
-};
-
-module.exports = function (namespace, method) {
- return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])
- : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-iterator-method.js":
-/*!**********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-iterator-method.js ***!
- \**********************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof.js");
-var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators.js");
-var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
-var ITERATOR = wellKnownSymbol('iterator');
-
-module.exports = function (it) {
- if (it != undefined) return it[ITERATOR]
- || it['@@iterator']
- || Iterators[classof(it)];
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js":
-/*!*********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js ***!
- \*********************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-var check = function (it) {
- return it && it.Math == Math && it;
-};
-
-// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-module.exports =
- // eslint-disable-next-line no-undef
- check(typeof globalThis == 'object' && globalThis) ||
- check(typeof window == 'object' && window) ||
- check(typeof self == 'object' && self) ||
- check(typeof global == 'object' && global) ||
- // eslint-disable-next-line no-new-func
- Function('return this')();
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js":
-/*!******************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js ***!
- \******************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-var hasOwnProperty = {}.hasOwnProperty;
-
-module.exports = function (it, key) {
- return hasOwnProperty.call(it, key);
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/hidden-keys.js":
-/*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/hidden-keys.js ***!
- \**************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-module.exports = {};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/html.js":
-/*!*******************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/html.js ***!
- \*******************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js");
-
-module.exports = getBuiltIn('document', 'documentElement');
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/ie8-dom-define.js":
-/*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/ie8-dom-define.js ***!
- \*****************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/document-create-element.js");
-
-// Thank's IE8 for his funny defineProperty
-module.exports = !DESCRIPTORS && !fails(function () {
- return Object.defineProperty(createElement('div'), 'a', {
- get: function () { return 7; }
- }).a != 7;
-});
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/indexed-object.js":
-/*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/indexed-object.js ***!
- \*****************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js");
-
-var split = ''.split;
-
-// fallback for non-array-like ES3 and non-enumerable old V8 strings
-module.exports = fails(function () {
- // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
- // eslint-disable-next-line no-prototype-builtins
- return !Object('z').propertyIsEnumerable(0);
-}) ? function (it) {
- return classof(it) == 'String' ? split.call(it, '') : Object(it);
-} : Object;
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inherit-if-required.js":
-/*!**********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inherit-if-required.js ***!
- \**********************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-set-prototype-of.js");
-
-// makes subclassing work correct for wrapped built-ins
-module.exports = function ($this, dummy, Wrapper) {
- var NewTarget, NewTargetPrototype;
- if (
- // it can work only with native `setPrototypeOf`
- setPrototypeOf &&
- // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
- typeof (NewTarget = dummy.constructor) == 'function' &&
- NewTarget !== Wrapper &&
- isObject(NewTargetPrototype = NewTarget.prototype) &&
- NewTargetPrototype !== Wrapper.prototype
- ) setPrototypeOf($this, NewTargetPrototype);
- return $this;
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inspect-source.js":
-/*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inspect-source.js ***!
- \*****************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-store.js");
-
-var functionToString = Function.toString;
-
-// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-if (typeof store.inspectSource != 'function') {
- store.inspectSource = function (it) {
- return functionToString.call(it);
- };
-}
-
-module.exports = store.inspectSource;
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js":
-/*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js ***!
- \********************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/hidden-keys.js");
-var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-var has = __webpack_require__(/*! ../internals/has */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js").f;
-var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/uid.js");
-var FREEZING = __webpack_require__(/*! ../internals/freezing */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/freezing.js");
-
-var METADATA = uid('meta');
-var id = 0;
-
-var isExtensible = Object.isExtensible || function () {
- return true;
-};
-
-var setMetadata = function (it) {
- defineProperty(it, METADATA, { value: {
- objectID: 'O' + ++id, // object ID
- weakData: {} // weak collections IDs
- } });
-};
-
-var fastKey = function (it, create) {
- // return a primitive with prefix
- if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
- if (!has(it, METADATA)) {
- // can't set metadata to uncaught frozen object
- if (!isExtensible(it)) return 'F';
- // not necessary to add metadata
- if (!create) return 'E';
- // add missing metadata
- setMetadata(it);
- // return object ID
- } return it[METADATA].objectID;
-};
-
-var getWeakData = function (it, create) {
- if (!has(it, METADATA)) {
- // can't set metadata to uncaught frozen object
- if (!isExtensible(it)) return true;
- // not necessary to add metadata
- if (!create) return false;
- // add missing metadata
- setMetadata(it);
- // return the store of weak collections IDs
- } return it[METADATA].weakData;
-};
-
-// add metadata on freeze-family methods calling
-var onFreeze = function (it) {
- if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);
- return it;
-};
-
-var meta = module.exports = {
- REQUIRED: false,
- fastKey: fastKey,
- getWeakData: getWeakData,
- onFreeze: onFreeze
-};
-
-hiddenKeys[METADATA] = true;
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js":
-/*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js ***!
- \*****************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-weak-map.js");
-var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js");
-var objectHas = __webpack_require__(/*! ../internals/has */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-key.js");
-var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/hidden-keys.js");
-
-var WeakMap = global.WeakMap;
-var set, get, has;
-
-var enforce = function (it) {
- return has(it) ? get(it) : set(it, {});
-};
-
-var getterFor = function (TYPE) {
- return function (it) {
- var state;
- if (!isObject(it) || (state = get(it)).type !== TYPE) {
- throw TypeError('Incompatible receiver, ' + TYPE + ' required');
- } return state;
- };
-};
-
-if (NATIVE_WEAK_MAP) {
- var store = new WeakMap();
- var wmget = store.get;
- var wmhas = store.has;
- var wmset = store.set;
- set = function (it, metadata) {
- wmset.call(store, it, metadata);
- return metadata;
- };
- get = function (it) {
- return wmget.call(store, it) || {};
- };
- has = function (it) {
- return wmhas.call(store, it);
- };
-} else {
- var STATE = sharedKey('state');
- hiddenKeys[STATE] = true;
- set = function (it, metadata) {
- createNonEnumerableProperty(it, STATE, metadata);
- return metadata;
- };
- get = function (it) {
- return objectHas(it, STATE) ? it[STATE] : {};
- };
- has = function (it) {
- return objectHas(it, STATE);
- };
-}
-
-module.exports = {
- set: set,
- get: get,
- has: has,
- enforce: enforce,
- getterFor: getterFor
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array-iterator-method.js":
-/*!***************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array-iterator-method.js ***!
- \***************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators.js");
-
-var ITERATOR = wellKnownSymbol('iterator');
-var ArrayPrototype = Array.prototype;
-
-// check on default Array iterator
-module.exports = function (it) {
- return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array.js":
-/*!***********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array.js ***!
- \***********************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js");
-
-// `IsArray` abstract operation
-// https://tc39.github.io/ecma262/#sec-isarray
-module.exports = Array.isArray || function isArray(arg) {
- return classof(arg) == 'Array';
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-forced.js":
-/*!************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-forced.js ***!
- \************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
-var replacement = /#|\.prototype\./;
-
-var isForced = function (feature, detection) {
- var value = data[normalize(feature)];
- return value == POLYFILL ? true
- : value == NATIVE ? false
- : typeof detection == 'function' ? fails(detection)
- : !!detection;
-};
-
-var normalize = isForced.normalize = function (string) {
- return String(string).replace(replacement, '.').toLowerCase();
-};
-
-var data = isForced.data = {};
-var NATIVE = isForced.NATIVE = 'N';
-var POLYFILL = isForced.POLYFILL = 'P';
-
-module.exports = isForced;
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js":
-/*!************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js ***!
- \************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
- return typeof it === 'object' ? it !== null : typeof it === 'function';
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-pure.js":
-/*!**********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-pure.js ***!
- \**********************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-module.exports = false;
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterate.js":
-/*!**********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterate.js ***!
- \**********************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-var isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array-iterator-method.js");
-var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js");
-var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind-context.js");
-var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-iterator-method.js");
-var callWithSafeIterationClosing = __webpack_require__(/*! ../internals/call-with-safe-iteration-closing */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/call-with-safe-iteration-closing.js");
-
-var Result = function (stopped, result) {
- this.stopped = stopped;
- this.result = result;
-};
-
-var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {
- var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);
- var iterator, iterFn, index, length, result, next, step;
-
- if (IS_ITERATOR) {
- iterator = iterable;
- } else {
- iterFn = getIteratorMethod(iterable);
- if (typeof iterFn != 'function') throw TypeError('Target is not iterable');
- // optimisation for array iterators
- if (isArrayIteratorMethod(iterFn)) {
- for (index = 0, length = toLength(iterable.length); length > index; index++) {
- result = AS_ENTRIES
- ? boundFunction(anObject(step = iterable[index])[0], step[1])
- : boundFunction(iterable[index]);
- if (result && result instanceof Result) return result;
- } return new Result(false);
- }
- iterator = iterFn.call(iterable);
- }
-
- next = iterator.next;
- while (!(step = next.call(iterator)).done) {
- result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);
- if (typeof result == 'object' && result && result instanceof Result) return result;
- } return new Result(false);
-};
-
-iterate.stop = function (result) {
- return new Result(true, result);
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators-core.js":
-/*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators-core.js ***!
- \*****************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js");
-var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js");
-var has = __webpack_require__(/*! ../internals/has */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-pure.js");
-
-var ITERATOR = wellKnownSymbol('iterator');
-var BUGGY_SAFARI_ITERATORS = false;
-
-var returnThis = function () { return this; };
-
-// `%IteratorPrototype%` object
-// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object
-var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
-
-if ([].keys) {
- arrayIterator = [].keys();
- // Safari 8 has buggy iterators w/o `next`
- if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
- else {
- PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
- if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
- }
-}
-
-if (IteratorPrototype == undefined) IteratorPrototype = {};
-
-// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
-if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {
- createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
-}
-
-module.exports = {
- IteratorPrototype: IteratorPrototype,
- BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators.js":
-/*!************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators.js ***!
- \************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-module.exports = {};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-symbol.js":
-/*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-symbol.js ***!
- \****************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
-module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
- // Chrome 38 Symbol has incorrect toString conversion
- // eslint-disable-next-line no-undef
- return !String(Symbol());
-});
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-weak-map.js":
-/*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-weak-map.js ***!
- \******************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inspect-source.js");
-
-var WeakMap = global.WeakMap;
-
-module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-create.js":
-/*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-create.js ***!
- \****************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-properties.js");
-var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/enum-bug-keys.js");
-var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/hidden-keys.js");
-var html = __webpack_require__(/*! ../internals/html */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/html.js");
-var documentCreateElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/document-create-element.js");
-var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-key.js");
-
-var GT = '>';
-var LT = '<';
-var PROTOTYPE = 'prototype';
-var SCRIPT = 'script';
-var IE_PROTO = sharedKey('IE_PROTO');
-
-var EmptyConstructor = function () { /* empty */ };
-
-var scriptTag = function (content) {
- return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-};
-
-// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-var NullProtoObjectViaActiveX = function (activeXDocument) {
- activeXDocument.write(scriptTag(''));
- activeXDocument.close();
- var temp = activeXDocument.parentWindow.Object;
- activeXDocument = null; // avoid memory leak
- return temp;
-};
-
-// Create object with fake `null` prototype: use iframe Object with cleared prototype
-var NullProtoObjectViaIFrame = function () {
- // Thrash, waste and sodomy: IE GC bug
- var iframe = documentCreateElement('iframe');
- var JS = 'java' + SCRIPT + ':';
- var iframeDocument;
- iframe.style.display = 'none';
- html.appendChild(iframe);
- // https://github.com/zloirock/core-js/issues/475
- iframe.src = String(JS);
- iframeDocument = iframe.contentWindow.document;
- iframeDocument.open();
- iframeDocument.write(scriptTag('document.F=Object'));
- iframeDocument.close();
- return iframeDocument.F;
-};
-
-// Check for document.domain and active x support
-// No need to use active x approach when document.domain is not set
-// see https://github.com/es-shims/es5-shim/issues/150
-// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-// avoid IE GC bug
-var activeXDocument;
-var NullProtoObject = function () {
- try {
- /* global ActiveXObject */
- activeXDocument = document.domain && new ActiveXObject('htmlfile');
- } catch (error) { /* ignore */ }
- NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
- var length = enumBugKeys.length;
- while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
- return NullProtoObject();
-};
-
-hiddenKeys[IE_PROTO] = true;
-
-// `Object.create` method
-// https://tc39.github.io/ecma262/#sec-object.create
-module.exports = Object.create || function create(O, Properties) {
- var result;
- if (O !== null) {
- EmptyConstructor[PROTOTYPE] = anObject(O);
- result = new EmptyConstructor();
- EmptyConstructor[PROTOTYPE] = null;
- // add "__proto__" for Object.getPrototypeOf polyfill
- result[IE_PROTO] = O;
- } else result = NullProtoObject();
- return Properties === undefined ? result : defineProperties(result, Properties);
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-properties.js":
-/*!***************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-properties.js ***!
- \***************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js");
-var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys.js");
-
-// `Object.defineProperties` method
-// https://tc39.github.io/ecma262/#sec-object.defineproperties
-module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
- anObject(O);
- var keys = objectKeys(Properties);
- var length = keys.length;
- var index = 0;
- var key;
- while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);
- return O;
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js":
-/*!*************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js ***!
- \*************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/ie8-dom-define.js");
-var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-primitive.js");
-
-var nativeDefineProperty = Object.defineProperty;
-
-// `Object.defineProperty` method
-// https://tc39.github.io/ecma262/#sec-object.defineproperty
-exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
- anObject(O);
- P = toPrimitive(P, true);
- anObject(Attributes);
- if (IE8_DOM_DEFINE) try {
- return nativeDefineProperty(O, P, Attributes);
- } catch (error) { /* empty */ }
- if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
- if ('value' in Attributes) O[P] = Attributes.value;
- return O;
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js":
-/*!*************************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js ***!
- \*************************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-property-is-enumerable.js");
-var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property-descriptor.js");
-var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js");
-var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-primitive.js");
-var has = __webpack_require__(/*! ../internals/has */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/ie8-dom-define.js");
-
-var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-// `Object.getOwnPropertyDescriptor` method
-// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
- O = toIndexedObject(O);
- P = toPrimitive(P, true);
- if (IE8_DOM_DEFINE) try {
- return nativeGetOwnPropertyDescriptor(O, P);
- } catch (error) { /* empty */ }
- if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names.js":
-/*!********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names.js ***!
- \********************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys-internal.js");
-var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/enum-bug-keys.js");
-
-var hiddenKeys = enumBugKeys.concat('length', 'prototype');
-
-// `Object.getOwnPropertyNames` method
-// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
- return internalObjectKeys(O, hiddenKeys);
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-symbols.js":
-/*!**********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-symbols.js ***!
- \**********************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-exports.f = Object.getOwnPropertySymbols;
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js":
-/*!**************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js ***!
- \**************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var has = __webpack_require__(/*! ../internals/has */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js");
-var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-key.js");
-var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-prototype-getter.js");
-
-var IE_PROTO = sharedKey('IE_PROTO');
-var ObjectPrototype = Object.prototype;
-
-// `Object.getPrototypeOf` method
-// https://tc39.github.io/ecma262/#sec-object.getprototypeof
-module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
- O = toObject(O);
- if (has(O, IE_PROTO)) return O[IE_PROTO];
- if (typeof O.constructor == 'function' && O instanceof O.constructor) {
- return O.constructor.prototype;
- } return O instanceof Object ? ObjectPrototype : null;
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys-internal.js":
-/*!***********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys-internal.js ***!
- \***********************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var has = __webpack_require__(/*! ../internals/has */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js");
-var indexOf = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-includes.js").indexOf;
-var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/hidden-keys.js");
-
-module.exports = function (object, names) {
- var O = toIndexedObject(object);
- var i = 0;
- var result = [];
- var key;
- for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
- // Don't enum bug & hidden keys
- while (names.length > i) if (has(O, key = names[i++])) {
- ~indexOf(result, key) || result.push(key);
- }
- return result;
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys.js":
-/*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys.js ***!
- \**************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys-internal.js");
-var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/enum-bug-keys.js");
-
-// `Object.keys` method
-// https://tc39.github.io/ecma262/#sec-object.keys
-module.exports = Object.keys || function keys(O) {
- return internalObjectKeys(O, enumBugKeys);
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-property-is-enumerable.js":
-/*!********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-property-is-enumerable.js ***!
- \********************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-// Nashorn ~ JDK8 bug
-var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-// `Object.prototype.propertyIsEnumerable` method implementation
-// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
- var descriptor = getOwnPropertyDescriptor(this, V);
- return !!descriptor && descriptor.enumerable;
-} : nativePropertyIsEnumerable;
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-set-prototype-of.js":
-/*!**************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-set-prototype-of.js ***!
- \**************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-var aPossiblePrototype = __webpack_require__(/*! ../internals/a-possible-prototype */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-possible-prototype.js");
-
-// `Object.setPrototypeOf` method
-// https://tc39.github.io/ecma262/#sec-object.setprototypeof
-// Works with __proto__ only. Old v8 can't work with null proto objects.
-/* eslint-disable no-proto */
-module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
- var CORRECT_SETTER = false;
- var test = {};
- var setter;
- try {
- setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
- setter.call(test, []);
- CORRECT_SETTER = test instanceof Array;
- } catch (error) { /* empty */ }
- return function setPrototypeOf(O, proto) {
- anObject(O);
- aPossiblePrototype(proto);
- if (CORRECT_SETTER) setter.call(O, proto);
- else O.__proto__ = proto;
- return O;
- };
-}() : undefined);
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/own-keys.js":
-/*!***********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/own-keys.js ***!
- \***********************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js");
-var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names.js");
-var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-symbols.js");
-var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
-// all object keys, includes non-enumerable and symbols
-module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
- var keys = getOwnPropertyNamesModule.f(anObject(it));
- var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
- return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/path.js":
-/*!*******************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/path.js ***!
- \*******************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
-module.exports = global;
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine-all.js":
-/*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine-all.js ***!
- \***************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js");
-
-module.exports = function (target, src, options) {
- for (var key in src) redefine(target, key, src[key], options);
- return target;
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js":
-/*!***********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js ***!
- \***********************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js");
-var has = __webpack_require__(/*! ../internals/has */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-global.js");
-var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inspect-source.js");
-var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js");
-
-var getInternalState = InternalStateModule.get;
-var enforceInternalState = InternalStateModule.enforce;
-var TEMPLATE = String(String).split('String');
-
-(module.exports = function (O, key, value, options) {
- var unsafe = options ? !!options.unsafe : false;
- var simple = options ? !!options.enumerable : false;
- var noTargetGet = options ? !!options.noTargetGet : false;
- if (typeof value == 'function') {
- if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
- enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
- }
- if (O === global) {
- if (simple) O[key] = value;
- else setGlobal(key, value);
- return;
- } else if (!unsafe) {
- delete O[key];
- } else if (!noTargetGet && O[key]) {
- simple = true;
- }
- if (simple) O[key] = value;
- else createNonEnumerableProperty(O, key, value);
-// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-})(Function.prototype, 'toString', function toString() {
- return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-});
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js":
-/*!*******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js ***!
- \*******************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
-var Map = __webpack_require__(/*! ../modules/es.map */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.map.js");
-var WeakMap = __webpack_require__(/*! ../modules/es.weak-map */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.weak-map.js");
-var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared.js");
-
-var metadata = shared('metadata');
-var store = metadata.store || (metadata.store = new WeakMap());
-
-var getOrCreateMetadataMap = function (target, targetKey, create) {
- var targetMetadata = store.get(target);
- if (!targetMetadata) {
- if (!create) return;
- store.set(target, targetMetadata = new Map());
- }
- var keyMetadata = targetMetadata.get(targetKey);
- if (!keyMetadata) {
- if (!create) return;
- targetMetadata.set(targetKey, keyMetadata = new Map());
- } return keyMetadata;
-};
-
-var ordinaryHasOwnMetadata = function (MetadataKey, O, P) {
- var metadataMap = getOrCreateMetadataMap(O, P, false);
- return metadataMap === undefined ? false : metadataMap.has(MetadataKey);
-};
-
-var ordinaryGetOwnMetadata = function (MetadataKey, O, P) {
- var metadataMap = getOrCreateMetadataMap(O, P, false);
- return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);
-};
-
-var ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {
- getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);
-};
-
-var ordinaryOwnMetadataKeys = function (target, targetKey) {
- var metadataMap = getOrCreateMetadataMap(target, targetKey, false);
- var keys = [];
- if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });
- return keys;
-};
-
-var toMetadataKey = function (it) {
- return it === undefined || typeof it == 'symbol' ? it : String(it);
-};
-
-module.exports = {
- store: store,
- getMap: getOrCreateMetadataMap,
- has: ordinaryHasOwnMetadata,
- get: ordinaryGetOwnMetadata,
- set: ordinaryDefineOwnMetadata,
- keys: ordinaryOwnMetadataKeys,
- toKey: toMetadataKey
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js":
-/*!***************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js ***!
- \***************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-// `RequireObjectCoercible` abstract operation
-// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-module.exports = function (it) {
- if (it == undefined) throw TypeError("Can't call method on " + it);
- return it;
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-global.js":
-/*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-global.js ***!
- \*************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js");
-
-module.exports = function (key, value) {
- try {
- createNonEnumerableProperty(global, key, value);
- } catch (error) {
- global[key] = value;
- } return value;
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-species.js":
-/*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-species.js ***!
- \**************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js");
-var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js");
-var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
-var SPECIES = wellKnownSymbol('species');
-
-module.exports = function (CONSTRUCTOR_NAME) {
- var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
- var defineProperty = definePropertyModule.f;
-
- if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
- defineProperty(Constructor, SPECIES, {
- configurable: true,
- get: function () { return this; }
- });
- }
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-to-string-tag.js":
-/*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-to-string-tag.js ***!
- \********************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js").f;
-var has = __webpack_require__(/*! ../internals/has */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-
-module.exports = function (it, TAG, STATIC) {
- if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
- defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });
- }
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-key.js":
-/*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-key.js ***!
- \*************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared.js");
-var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/uid.js");
-
-var keys = shared('keys');
-
-module.exports = function (key) {
- return keys[key] || (keys[key] = uid(key));
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-store.js":
-/*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-store.js ***!
- \***************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-global.js");
-
-var SHARED = '__core-js_shared__';
-var store = global[SHARED] || setGlobal(SHARED, {});
-
-module.exports = store;
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared.js":
-/*!*********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared.js ***!
- \*********************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-pure.js");
-var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-store.js");
-
-(module.exports = function (key, value) {
- return store[key] || (store[key] = value !== undefined ? value : {});
-})('versions', []).push({
- version: '3.6.4',
- mode: IS_PURE ? 'pure' : 'global',
- copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
-});
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-absolute-index.js":
-/*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-absolute-index.js ***!
- \********************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-integer.js");
-
-var max = Math.max;
-var min = Math.min;
-
-// Helper for a popular repeating case of the spec:
-// Let integer be ? ToInteger(index).
-// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-module.exports = function (index, length) {
- var integer = toInteger(index);
- return integer < 0 ? max(integer + length, 0) : min(integer, length);
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js":
-/*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js ***!
- \********************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-// toObject with fallback for non-array-like ES3 strings
-var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/indexed-object.js");
-var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js");
-
-module.exports = function (it) {
- return IndexedObject(requireObjectCoercible(it));
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-integer.js":
-/*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-integer.js ***!
- \*************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-var ceil = Math.ceil;
-var floor = Math.floor;
-
-// `ToInteger` abstract operation
-// https://tc39.github.io/ecma262/#sec-tointeger
-module.exports = function (argument) {
- return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js":
-/*!************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js ***!
- \************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-integer.js");
-
-var min = Math.min;
-
-// `ToLength` abstract operation
-// https://tc39.github.io/ecma262/#sec-tolength
-module.exports = function (argument) {
- return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js":
-/*!************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js ***!
- \************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js");
-
-// `ToObject` abstract operation
-// https://tc39.github.io/ecma262/#sec-toobject
-module.exports = function (argument) {
- return Object(requireObjectCoercible(argument));
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-primitive.js":
-/*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-primitive.js ***!
- \***************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
-// `ToPrimitive` abstract operation
-// https://tc39.github.io/ecma262/#sec-toprimitive
-// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-// and the second argument - flag - preferred type is a string
-module.exports = function (input, PREFERRED_STRING) {
- if (!isObject(input)) return input;
- var fn, val;
- if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
- if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
- if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
- throw TypeError("Can't convert object to primitive value");
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-string-tag-support.js":
-/*!************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-string-tag-support.js ***!
- \************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-var test = {};
-
-test[TO_STRING_TAG] = 'z';
-
-module.exports = String(test) === '[object z]';
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/uid.js":
-/*!******************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/uid.js ***!
- \******************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-var id = 0;
-var postfix = Math.random();
-
-module.exports = function (key) {
- return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/use-symbol-as-uid.js":
-/*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/use-symbol-as-uid.js ***!
- \********************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-symbol.js");
-
-module.exports = NATIVE_SYMBOL
- // eslint-disable-next-line no-undef
- && !Symbol.sham
- // eslint-disable-next-line no-undef
- && typeof Symbol.iterator == 'symbol';
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js":
-/*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js ***!
- \********************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared.js");
-var has = __webpack_require__(/*! ../internals/has */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/uid.js");
-var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-symbol.js");
-var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/use-symbol-as-uid.js");
-
-var WellKnownSymbolsStore = shared('wks');
-var Symbol = global.Symbol;
-var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;
-
-module.exports = function (name) {
- if (!has(WellKnownSymbolsStore, name)) {
- if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];
- else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
- } return WellKnownSymbolsStore[name];
-};
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.map.js":
-/*!*******************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.map.js ***!
- \*******************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var collection = __webpack_require__(/*! ../internals/collection */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection.js");
-var collectionStrong = __webpack_require__(/*! ../internals/collection-strong */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-strong.js");
-
-// `Map` constructor
-// https://tc39.github.io/ecma262/#sec-map-objects
-module.exports = collection('Map', function (init) {
- return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };
-}, collectionStrong);
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.set.js":
-/*!*******************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.set.js ***!
- \*******************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var collection = __webpack_require__(/*! ../internals/collection */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection.js");
-var collectionStrong = __webpack_require__(/*! ../internals/collection-strong */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-strong.js");
-
-// `Set` constructor
-// https://tc39.github.io/ecma262/#sec-set-objects
-module.exports = collection('Set', function (init) {
- return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };
-}, collectionStrong);
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.weak-map.js":
-/*!************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.weak-map.js ***!
- \************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var global = __webpack_require__(/*! ../internals/global */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine-all.js");
-var InternalMetadataModule = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js");
-var collection = __webpack_require__(/*! ../internals/collection */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection.js");
-var collectionWeak = __webpack_require__(/*! ../internals/collection-weak */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-weak.js");
-var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-var enforceIternalState = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js").enforce;
-var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-weak-map.js");
-
-var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;
-var isExtensible = Object.isExtensible;
-var InternalWeakMap;
-
-var wrapper = function (init) {
- return function WeakMap() {
- return init(this, arguments.length ? arguments[0] : undefined);
- };
-};
-
-// `WeakMap` constructor
-// https://tc39.github.io/ecma262/#sec-weakmap-constructor
-var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);
-
-// IE11 WeakMap frozen keys fix
-// We can't use feature detection because it crash some old IE builds
-// https://github.com/zloirock/core-js/issues/485
-if (NATIVE_WEAK_MAP && IS_IE11) {
- InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);
- InternalMetadataModule.REQUIRED = true;
- var WeakMapPrototype = $WeakMap.prototype;
- var nativeDelete = WeakMapPrototype['delete'];
- var nativeHas = WeakMapPrototype.has;
- var nativeGet = WeakMapPrototype.get;
- var nativeSet = WeakMapPrototype.set;
- redefineAll(WeakMapPrototype, {
- 'delete': function (key) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen) state.frozen = new InternalWeakMap();
- return nativeDelete.call(this, key) || state.frozen['delete'](key);
- } return nativeDelete.call(this, key);
- },
- has: function has(key) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen) state.frozen = new InternalWeakMap();
- return nativeHas.call(this, key) || state.frozen.has(key);
- } return nativeHas.call(this, key);
- },
- get: function get(key) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen) state.frozen = new InternalWeakMap();
- return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);
- } return nativeGet.call(this, key);
- },
- set: function set(key, value) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen) state.frozen = new InternalWeakMap();
- nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);
- } else nativeSet.call(this, key, value);
- return this;
- }
- });
-}
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.define-metadata.js":
-/*!*******************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.define-metadata.js ***!
- \*******************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-var ReflectMetadataModule = __webpack_require__(/*! ../internals/reflect-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js");
-var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
-var toMetadataKey = ReflectMetadataModule.toKey;
-var ordinaryDefineOwnMetadata = ReflectMetadataModule.set;
-
-// `Reflect.defineMetadata` method
-// https://github.com/rbuckton/reflect-metadata
-$({ target: 'Reflect', stat: true }, {
- defineMetadata: function defineMetadata(metadataKey, metadataValue, target /* , targetKey */) {
- var targetKey = arguments.length < 4 ? undefined : toMetadataKey(arguments[3]);
- ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), targetKey);
- }
-});
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.delete-metadata.js":
-/*!*******************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.delete-metadata.js ***!
- \*******************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-var ReflectMetadataModule = __webpack_require__(/*! ../internals/reflect-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js");
-var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
-var toMetadataKey = ReflectMetadataModule.toKey;
-var getOrCreateMetadataMap = ReflectMetadataModule.getMap;
-var store = ReflectMetadataModule.store;
-
-// `Reflect.deleteMetadata` method
-// https://github.com/rbuckton/reflect-metadata
-$({ target: 'Reflect', stat: true }, {
- deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {
- var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);
- var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);
- if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;
- if (metadataMap.size) return true;
- var targetMetadata = store.get(target);
- targetMetadata['delete'](targetKey);
- return !!targetMetadata.size || store['delete'](target);
- }
-});
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js":
-/*!*********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js ***!
- \*********************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
-var Set = __webpack_require__(/*! ../modules/es.set */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.set.js");
-var ReflectMetadataModule = __webpack_require__(/*! ../internals/reflect-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js");
-var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js");
-var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterate.js");
-
-var ordinaryOwnMetadataKeys = ReflectMetadataModule.keys;
-var toMetadataKey = ReflectMetadataModule.toKey;
-
-var from = function (iter) {
- var result = [];
- iterate(iter, result.push, result);
- return result;
-};
-
-var ordinaryMetadataKeys = function (O, P) {
- var oKeys = ordinaryOwnMetadataKeys(O, P);
- var parent = getPrototypeOf(O);
- if (parent === null) return oKeys;
- var pKeys = ordinaryMetadataKeys(parent, P);
- return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;
-};
-
-// `Reflect.getMetadataKeys` method
-// https://github.com/rbuckton/reflect-metadata
-$({ target: 'Reflect', stat: true }, {
- getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {
- var targetKey = arguments.length < 2 ? undefined : toMetadataKey(arguments[1]);
- return ordinaryMetadataKeys(anObject(target), targetKey);
- }
-});
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata.js":
-/*!****************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata.js ***!
- \****************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-var ReflectMetadataModule = __webpack_require__(/*! ../internals/reflect-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js");
-var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js");
-
-var ordinaryHasOwnMetadata = ReflectMetadataModule.has;
-var ordinaryGetOwnMetadata = ReflectMetadataModule.get;
-var toMetadataKey = ReflectMetadataModule.toKey;
-
-var ordinaryGetMetadata = function (MetadataKey, O, P) {
- var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);
- if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);
- var parent = getPrototypeOf(O);
- return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;
-};
-
-// `Reflect.getMetadata` method
-// https://github.com/rbuckton/reflect-metadata
-$({ target: 'Reflect', stat: true }, {
- getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {
- var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);
- return ordinaryGetMetadata(metadataKey, anObject(target), targetKey);
- }
-});
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js":
-/*!*************************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js ***!
- \*************************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-var ReflectMetadataModule = __webpack_require__(/*! ../internals/reflect-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js");
-var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
-var ordinaryOwnMetadataKeys = ReflectMetadataModule.keys;
-var toMetadataKey = ReflectMetadataModule.toKey;
-
-// `Reflect.getOwnMetadataKeys` method
-// https://github.com/rbuckton/reflect-metadata
-$({ target: 'Reflect', stat: true }, {
- getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {
- var targetKey = arguments.length < 2 ? undefined : toMetadataKey(arguments[1]);
- return ordinaryOwnMetadataKeys(anObject(target), targetKey);
- }
-});
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js":
-/*!********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js ***!
- \********************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-var ReflectMetadataModule = __webpack_require__(/*! ../internals/reflect-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js");
-var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
-var ordinaryGetOwnMetadata = ReflectMetadataModule.get;
-var toMetadataKey = ReflectMetadataModule.toKey;
-
-// `Reflect.getOwnMetadata` method
-// https://github.com/rbuckton/reflect-metadata
-$({ target: 'Reflect', stat: true }, {
- getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {
- var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);
- return ordinaryGetOwnMetadata(metadataKey, anObject(target), targetKey);
- }
-});
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-metadata.js":
-/*!****************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-metadata.js ***!
- \****************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-var ReflectMetadataModule = __webpack_require__(/*! ../internals/reflect-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js");
-var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js");
-
-var ordinaryHasOwnMetadata = ReflectMetadataModule.has;
-var toMetadataKey = ReflectMetadataModule.toKey;
-
-var ordinaryHasMetadata = function (MetadataKey, O, P) {
- var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);
- if (hasOwn) return true;
- var parent = getPrototypeOf(O);
- return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;
-};
-
-// `Reflect.hasMetadata` method
-// https://github.com/rbuckton/reflect-metadata
-$({ target: 'Reflect', stat: true }, {
- hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {
- var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);
- return ordinaryHasMetadata(metadataKey, anObject(target), targetKey);
- }
-});
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js":
-/*!********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js ***!
- \********************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-var ReflectMetadataModule = __webpack_require__(/*! ../internals/reflect-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js");
-var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
-var ordinaryHasOwnMetadata = ReflectMetadataModule.has;
-var toMetadataKey = ReflectMetadataModule.toKey;
-
-// `Reflect.hasOwnMetadata` method
-// https://github.com/rbuckton/reflect-metadata
-$({ target: 'Reflect', stat: true }, {
- hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {
- var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);
- return ordinaryHasOwnMetadata(metadataKey, anObject(target), targetKey);
- }
-});
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.metadata.js":
-/*!************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.metadata.js ***!
- \************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-var ReflectMetadataModule = __webpack_require__(/*! ../internals/reflect-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js");
-var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
-var toMetadataKey = ReflectMetadataModule.toKey;
-var ordinaryDefineOwnMetadata = ReflectMetadataModule.set;
-
-// `Reflect.metadata` method
-// https://github.com/rbuckton/reflect-metadata
-$({ target: 'Reflect', stat: true }, {
- metadata: function metadata(metadataKey, metadataValue) {
- return function decorator(target, key) {
- ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetadataKey(key));
- };
- }
-});
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/proposals/reflect-metadata.js":
-/*!*******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/proposals/reflect-metadata.js ***!
- \*******************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(/*! ../modules/esnext.reflect.define-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.define-metadata.js");
-__webpack_require__(/*! ../modules/esnext.reflect.delete-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.delete-metadata.js");
-__webpack_require__(/*! ../modules/esnext.reflect.get-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata.js");
-__webpack_require__(/*! ../modules/esnext.reflect.get-metadata-keys */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js");
-__webpack_require__(/*! ../modules/esnext.reflect.get-own-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js");
-__webpack_require__(/*! ../modules/esnext.reflect.get-own-metadata-keys */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js");
-__webpack_require__(/*! ../modules/esnext.reflect.has-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-metadata.js");
-__webpack_require__(/*! ../modules/esnext.reflect.has-own-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js");
-__webpack_require__(/*! ../modules/esnext.reflect.metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.metadata.js");
-
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js":
-/*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js ***!
- \**************************************************************************************************/
-/*! no exports provided */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var core_js_proposals_reflect_metadata__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/proposals/reflect-metadata */ "./node_modules/@angular-devkit/build-angular/node_modules/core-js/proposals/reflect-metadata.js");
-/* harmony import */ var core_js_proposals_reflect_metadata__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_proposals_reflect_metadata__WEBPACK_IMPORTED_MODULE_0__);
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
-
-
-/***/ }),
-
-/***/ "./node_modules/tslib/tslib.es6.js":
-/*!*****************************************!*\
- !*** ./node_modules/tslib/tslib.es6.js ***!
- \*****************************************/
-/*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__extends", function() { return __extends; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__assign", function() { return __assign; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__rest", function() { return __rest; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__decorate", function() { return __decorate; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__param", function() { return __param; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__metadata", function() { return __metadata; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__awaiter", function() { return __awaiter; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__generator", function() { return __generator; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__exportStar", function() { return __exportStar; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__values", function() { return __values; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__read", function() { return __read; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__spread", function() { return __spread; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__await", function() { return __await; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncGenerator", function() { return __asyncGenerator; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncDelegator", function() { return __asyncDelegator; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncValues", function() { return __asyncValues; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() { return __makeTemplateObject; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importStar", function() { return __importStar; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importDefault", function() { return __importDefault; });
-/*! *****************************************************************************
-Copyright (c) Microsoft Corporation. All rights reserved.
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at http://www.apache.org/licenses/LICENSE-2.0
-
-THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
-WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
-MERCHANTABLITY OR NON-INFRINGEMENT.
-
-See the Apache Version 2.0 License for specific language governing permissions
-and limitations under the License.
-***************************************************************************** */
-/* global Reflect, Promise */
-
-var extendStatics = function(d, b) {
- extendStatics = Object.setPrototypeOf ||
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
- return extendStatics(d, b);
-};
-
-function __extends(d, b) {
- extendStatics(d, b);
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
-}
-
-var __assign = function() {
- __assign = Object.assign || function __assign(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);
-}
-
-function __rest(s, e) {
- var t = {};
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
- t[p] = s[p];
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
- t[p[i]] = s[p[i]];
- return t;
-}
-
-function __decorate(decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
-}
-
-function __param(paramIndex, decorator) {
- return function (target, key) { decorator(target, key, paramIndex); }
-}
-
-function __metadata(metadataKey, metadataValue) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
-}
-
-function __awaiter(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-}
-
-function __generator(thisArg, body) {
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
- function verb(n) { return function (v) { return step([n, v]); }; }
- function step(op) {
- if (f) throw new TypeError("Generator is already executing.");
- while (_) try {
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
- if (y = 0, t) op = [op[0] & 2, t.value];
- switch (op[0]) {
- case 0: case 1: t = op; break;
- case 4: _.label++; return { value: op[1], done: false };
- case 5: _.label++; y = op[1]; op = [0]; continue;
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
- default:
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
- if (t[2]) _.ops.pop();
- _.trys.pop(); continue;
- }
- op = body.call(thisArg, _);
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
- }
-}
-
-function __exportStar(m, exports) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
-}
-
-function __values(o) {
- var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
- if (m) return m.call(o);
- return {
- next: function () {
- if (o && i >= o.length) o = void 0;
- return { value: o && o[i++], done: !o };
- }
- };
-}
-
-function __read(o, n) {
- var m = typeof Symbol === "function" && o[Symbol.iterator];
- if (!m) return o;
- var i = m.call(o), r, ar = [], e;
- try {
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
- }
- catch (error) { e = { error: error }; }
- finally {
- try {
- if (r && !r.done && (m = i["return"])) m.call(i);
- }
- finally { if (e) throw e.error; }
- }
- return ar;
-}
-
-function __spread() {
- for (var ar = [], i = 0; i < arguments.length; i++)
- ar = ar.concat(__read(arguments[i]));
- return ar;
-}
-
-function __await(v) {
- return this instanceof __await ? (this.v = v, this) : new __await(v);
-}
-
-function __asyncGenerator(thisArg, _arguments, generator) {
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
- function fulfill(value) { resume("next", value); }
- function reject(value) { resume("throw", value); }
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
-}
-
-function __asyncDelegator(o) {
- var i, p;
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
-}
-
-function __asyncValues(o) {
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
- var m = o[Symbol.asyncIterator], i;
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
-}
-
-function __makeTemplateObject(cooked, raw) {
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
- return cooked;
-};
-
-function __importStar(mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
- result.default = mod;
- return result;
-}
-
-function __importDefault(mod) {
- return (mod && mod.__esModule) ? mod : { default: mod };
-}
-
-
-/***/ }),
-
-/***/ "./node_modules/zone.js/dist/zone-evergreen.js":
-/*!*****************************************************!*\
- !*** ./node_modules/zone.js/dist/zone-evergreen.js ***!
- \*****************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-/**
-* @license
-* Copyright Google Inc. All Rights Reserved.
-*
-* Use of this source code is governed by an MIT-style license that can be
-* found in the LICENSE file at https://angular.io/license
-*/
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-const Zone$1 = (function (global) {
- const performance = global['performance'];
- function mark(name) {
- performance && performance['mark'] && performance['mark'](name);
- }
- function performanceMeasure(name, label) {
- performance && performance['measure'] && performance['measure'](name, label);
- }
- mark('Zone');
- const checkDuplicate = global[('__zone_symbol__forceDuplicateZoneCheck')] === true;
- if (global['Zone']) {
- // if global['Zone'] already exists (maybe zone.js was already loaded or
- // some other lib also registered a global object named Zone), we may need
- // to throw an error, but sometimes user may not want this error.
- // For example,
- // we have two web pages, page1 includes zone.js, page2 doesn't.
- // and the 1st time user load page1 and page2, everything work fine,
- // but when user load page2 again, error occurs because global['Zone'] already exists.
- // so we add a flag to let user choose whether to throw this error or not.
- // By default, if existing Zone is from zone.js, we will not throw the error.
- if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {
- throw new Error('Zone already loaded.');
- }
- else {
- return global['Zone'];
- }
- }
- class Zone {
- constructor(parent, zoneSpec) {
- this._parent = parent;
- this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';
- this._properties = zoneSpec && zoneSpec.properties || {};
- this._zoneDelegate =
- new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);
- }
- static assertZonePatched() {
- if (global['Promise'] !== patches['ZoneAwarePromise']) {
- throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +
- 'has been overwritten.\n' +
- 'Most likely cause is that a Promise polyfill has been loaded ' +
- 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +
- 'If you must load one, do so before loading zone.js.)');
- }
- }
- static get root() {
- let zone = Zone.current;
- while (zone.parent) {
- zone = zone.parent;
- }
- return zone;
- }
- static get current() {
- return _currentZoneFrame.zone;
- }
- static get currentTask() {
- return _currentTask;
- }
- static __load_patch(name, fn) {
- if (patches.hasOwnProperty(name)) {
- if (checkDuplicate) {
- throw Error('Already loaded patch: ' + name);
- }
- }
- else if (!global['__Zone_disable_' + name]) {
- const perfName = 'Zone:' + name;
- mark(perfName);
- patches[name] = fn(global, Zone, _api);
- performanceMeasure(perfName, perfName);
- }
- }
- get parent() {
- return this._parent;
- }
- get name() {
- return this._name;
- }
- get(key) {
- const zone = this.getZoneWith(key);
- if (zone)
- return zone._properties[key];
- }
- getZoneWith(key) {
- let current = this;
- while (current) {
- if (current._properties.hasOwnProperty(key)) {
- return current;
- }
- current = current._parent;
- }
- return null;
- }
- fork(zoneSpec) {
- if (!zoneSpec)
- throw new Error('ZoneSpec required!');
- return this._zoneDelegate.fork(this, zoneSpec);
- }
- wrap(callback, source) {
- if (typeof callback !== 'function') {
- throw new Error('Expecting function got: ' + callback);
- }
- const _callback = this._zoneDelegate.intercept(this, callback, source);
- const zone = this;
- return function () {
- return zone.runGuarded(_callback, this, arguments, source);
- };
- }
- run(callback, applyThis, applyArgs, source) {
- _currentZoneFrame = { parent: _currentZoneFrame, zone: this };
- try {
- return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);
- }
- finally {
- _currentZoneFrame = _currentZoneFrame.parent;
- }
- }
- runGuarded(callback, applyThis = null, applyArgs, source) {
- _currentZoneFrame = { parent: _currentZoneFrame, zone: this };
- try {
- try {
- return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);
- }
- catch (error) {
- if (this._zoneDelegate.handleError(this, error)) {
- throw error;
- }
- }
- }
- finally {
- _currentZoneFrame = _currentZoneFrame.parent;
- }
- }
- runTask(task, applyThis, applyArgs) {
- if (task.zone != this) {
- throw new Error('A task can only be run in the zone of creation! (Creation: ' +
- (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');
- }
- // https://github.com/angular/zone.js/issues/778, sometimes eventTask
- // will run in notScheduled(canceled) state, we should not try to
- // run such kind of task but just return
- if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {
- return;
- }
- const reEntryGuard = task.state != running;
- reEntryGuard && task._transitionTo(running, scheduled);
- task.runCount++;
- const previousTask = _currentTask;
- _currentTask = task;
- _currentZoneFrame = { parent: _currentZoneFrame, zone: this };
- try {
- if (task.type == macroTask && task.data && !task.data.isPeriodic) {
- task.cancelFn = undefined;
- }
- try {
- return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);
- }
- catch (error) {
- if (this._zoneDelegate.handleError(this, error)) {
- throw error;
- }
- }
- }
- finally {
- // if the task's state is notScheduled or unknown, then it has already been cancelled
- // we should not reset the state to scheduled
- if (task.state !== notScheduled && task.state !== unknown) {
- if (task.type == eventTask || (task.data && task.data.isPeriodic)) {
- reEntryGuard && task._transitionTo(scheduled, running);
- }
- else {
- task.runCount = 0;
- this._updateTaskCount(task, -1);
- reEntryGuard &&
- task._transitionTo(notScheduled, running, notScheduled);
- }
- }
- _currentZoneFrame = _currentZoneFrame.parent;
- _currentTask = previousTask;
- }
- }
- scheduleTask(task) {
- if (task.zone && task.zone !== this) {
- // check if the task was rescheduled, the newZone
- // should not be the children of the original zone
- let newZone = this;
- while (newZone) {
- if (newZone === task.zone) {
- throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${task.zone.name}`);
- }
- newZone = newZone.parent;
- }
- }
- task._transitionTo(scheduling, notScheduled);
- const zoneDelegates = [];
- task._zoneDelegates = zoneDelegates;
- task._zone = this;
- try {
- task = this._zoneDelegate.scheduleTask(this, task);
- }
- catch (err) {
- // should set task's state to unknown when scheduleTask throw error
- // because the err may from reschedule, so the fromState maybe notScheduled
- task._transitionTo(unknown, scheduling, notScheduled);
- // TODO: @JiaLiPassion, should we check the result from handleError?
- this._zoneDelegate.handleError(this, err);
- throw err;
- }
- if (task._zoneDelegates === zoneDelegates) {
- // we have to check because internally the delegate can reschedule the task.
- this._updateTaskCount(task, 1);
- }
- if (task.state == scheduling) {
- task._transitionTo(scheduled, scheduling);
- }
- return task;
- }
- scheduleMicroTask(source, callback, data, customSchedule) {
- return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));
- }
- scheduleMacroTask(source, callback, data, customSchedule, customCancel) {
- return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));
- }
- scheduleEventTask(source, callback, data, customSchedule, customCancel) {
- return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));
- }
- cancelTask(task) {
- if (task.zone != this)
- throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +
- (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');
- task._transitionTo(canceling, scheduled, running);
- try {
- this._zoneDelegate.cancelTask(this, task);
- }
- catch (err) {
- // if error occurs when cancelTask, transit the state to unknown
- task._transitionTo(unknown, canceling);
- this._zoneDelegate.handleError(this, err);
- throw err;
- }
- this._updateTaskCount(task, -1);
- task._transitionTo(notScheduled, canceling);
- task.runCount = 0;
- return task;
- }
- _updateTaskCount(task, count) {
- const zoneDelegates = task._zoneDelegates;
- if (count == -1) {
- task._zoneDelegates = null;
- }
- for (let i = 0; i < zoneDelegates.length; i++) {
- zoneDelegates[i]._updateTaskCount(task.type, count);
- }
- }
- }
- Zone.__symbol__ = __symbol__;
- const DELEGATE_ZS = {
- name: '',
- onHasTask: (delegate, _, target, hasTaskState) => delegate.hasTask(target, hasTaskState),
- onScheduleTask: (delegate, _, target, task) => delegate.scheduleTask(target, task),
- onInvokeTask: (delegate, _, target, task, applyThis, applyArgs) => delegate.invokeTask(target, task, applyThis, applyArgs),
- onCancelTask: (delegate, _, target, task) => delegate.cancelTask(target, task)
- };
- class ZoneDelegate {
- constructor(zone, parentDelegate, zoneSpec) {
- this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };
- this.zone = zone;
- this._parentDelegate = parentDelegate;
- this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);
- this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);
- this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate.zone);
- this._interceptZS =
- zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);
- this._interceptDlgt =
- zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);
- this._interceptCurrZone =
- zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate.zone);
- this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);
- this._invokeDlgt =
- zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);
- this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate.zone);
- this._handleErrorZS =
- zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);
- this._handleErrorDlgt =
- zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);
- this._handleErrorCurrZone =
- zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate.zone);
- this._scheduleTaskZS =
- zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);
- this._scheduleTaskDlgt = zoneSpec &&
- (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);
- this._scheduleTaskCurrZone =
- zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate.zone);
- this._invokeTaskZS =
- zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);
- this._invokeTaskDlgt =
- zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);
- this._invokeTaskCurrZone =
- zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate.zone);
- this._cancelTaskZS =
- zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);
- this._cancelTaskDlgt =
- zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);
- this._cancelTaskCurrZone =
- zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate.zone);
- this._hasTaskZS = null;
- this._hasTaskDlgt = null;
- this._hasTaskDlgtOwner = null;
- this._hasTaskCurrZone = null;
- const zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;
- const parentHasTask = parentDelegate && parentDelegate._hasTaskZS;
- if (zoneSpecHasTask || parentHasTask) {
- // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such
- // a case all task related interceptors must go through this ZD. We can't short circuit it.
- this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;
- this._hasTaskDlgt = parentDelegate;
- this._hasTaskDlgtOwner = this;
- this._hasTaskCurrZone = zone;
- if (!zoneSpec.onScheduleTask) {
- this._scheduleTaskZS = DELEGATE_ZS;
- this._scheduleTaskDlgt = parentDelegate;
- this._scheduleTaskCurrZone = this.zone;
- }
- if (!zoneSpec.onInvokeTask) {
- this._invokeTaskZS = DELEGATE_ZS;
- this._invokeTaskDlgt = parentDelegate;
- this._invokeTaskCurrZone = this.zone;
- }
- if (!zoneSpec.onCancelTask) {
- this._cancelTaskZS = DELEGATE_ZS;
- this._cancelTaskDlgt = parentDelegate;
- this._cancelTaskCurrZone = this.zone;
- }
- }
- }
- fork(targetZone, zoneSpec) {
- return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :
- new Zone(targetZone, zoneSpec);
- }
- intercept(targetZone, callback, source) {
- return this._interceptZS ?
- this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :
- callback;
- }
- invoke(targetZone, callback, applyThis, applyArgs, source) {
- return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :
- callback.apply(applyThis, applyArgs);
- }
- handleError(targetZone, error) {
- return this._handleErrorZS ?
- this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :
- true;
- }
- scheduleTask(targetZone, task) {
- let returnTask = task;
- if (this._scheduleTaskZS) {
- if (this._hasTaskZS) {
- returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);
- }
- returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);
- if (!returnTask)
- returnTask = task;
- }
- else {
- if (task.scheduleFn) {
- task.scheduleFn(task);
- }
- else if (task.type == microTask) {
- scheduleMicroTask(task);
- }
- else {
- throw new Error('Task is missing scheduleFn.');
- }
- }
- return returnTask;
- }
- invokeTask(targetZone, task, applyThis, applyArgs) {
- return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :
- task.callback.apply(applyThis, applyArgs);
- }
- cancelTask(targetZone, task) {
- let value;
- if (this._cancelTaskZS) {
- value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);
- }
- else {
- if (!task.cancelFn) {
- throw Error('Task is not cancelable');
- }
- value = task.cancelFn(task);
- }
- return value;
- }
- hasTask(targetZone, isEmpty) {
- // hasTask should not throw error so other ZoneDelegate
- // can still trigger hasTask callback
- try {
- this._hasTaskZS &&
- this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);
- }
- catch (err) {
- this.handleError(targetZone, err);
- }
- }
- _updateTaskCount(type, count) {
- const counts = this._taskCounts;
- const prev = counts[type];
- const next = counts[type] = prev + count;
- if (next < 0) {
- throw new Error('More tasks executed then were scheduled.');
- }
- if (prev == 0 || next == 0) {
- const isEmpty = {
- microTask: counts['microTask'] > 0,
- macroTask: counts['macroTask'] > 0,
- eventTask: counts['eventTask'] > 0,
- change: type
- };
- this.hasTask(this.zone, isEmpty);
- }
- }
- }
- class ZoneTask {
- constructor(type, source, callback, options, scheduleFn, cancelFn) {
- this._zone = null;
- this.runCount = 0;
- this._zoneDelegates = null;
- this._state = 'notScheduled';
- this.type = type;
- this.source = source;
- this.data = options;
- this.scheduleFn = scheduleFn;
- this.cancelFn = cancelFn;
- this.callback = callback;
- const self = this;
- // TODO: @JiaLiPassion options should have interface
- if (type === eventTask && options && options.useG) {
- this.invoke = ZoneTask.invokeTask;
- }
- else {
- this.invoke = function () {
- return ZoneTask.invokeTask.call(global, self, this, arguments);
- };
- }
- }
- static invokeTask(task, target, args) {
- if (!task) {
- task = this;
- }
- _numberOfNestedTaskFrames++;
- try {
- task.runCount++;
- return task.zone.runTask(task, target, args);
- }
- finally {
- if (_numberOfNestedTaskFrames == 1) {
- drainMicroTaskQueue();
- }
- _numberOfNestedTaskFrames--;
- }
- }
- get zone() {
- return this._zone;
- }
- get state() {
- return this._state;
- }
- cancelScheduleRequest() {
- this._transitionTo(notScheduled, scheduling);
- }
- _transitionTo(toState, fromState1, fromState2) {
- if (this._state === fromState1 || this._state === fromState2) {
- this._state = toState;
- if (toState == notScheduled) {
- this._zoneDelegates = null;
- }
- }
- else {
- throw new Error(`${this.type} '${this.source}': can not transition to '${toState}', expecting state '${fromState1}'${fromState2 ? ' or \'' + fromState2 + '\'' : ''}, was '${this._state}'.`);
- }
- }
- toString() {
- if (this.data && typeof this.data.handleId !== 'undefined') {
- return this.data.handleId.toString();
- }
- else {
- return Object.prototype.toString.call(this);
- }
- }
- // add toJSON method to prevent cyclic error when
- // call JSON.stringify(zoneTask)
- toJSON() {
- return {
- type: this.type,
- state: this.state,
- source: this.source,
- zone: this.zone.name,
- runCount: this.runCount
- };
- }
- }
- //////////////////////////////////////////////////////
- //////////////////////////////////////////////////////
- /// MICROTASK QUEUE
- //////////////////////////////////////////////////////
- //////////////////////////////////////////////////////
- const symbolSetTimeout = __symbol__('setTimeout');
- const symbolPromise = __symbol__('Promise');
- const symbolThen = __symbol__('then');
- let _microTaskQueue = [];
- let _isDrainingMicrotaskQueue = false;
- let nativeMicroTaskQueuePromise;
- function scheduleMicroTask(task) {
- // if we are not running in any task, and there has not been anything scheduled
- // we must bootstrap the initial task creation by manually scheduling the drain
- if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {
- // We are not running in Task, so we need to kickstart the microtask queue.
- if (!nativeMicroTaskQueuePromise) {
- if (global[symbolPromise]) {
- nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);
- }
- }
- if (nativeMicroTaskQueuePromise) {
- let nativeThen = nativeMicroTaskQueuePromise[symbolThen];
- if (!nativeThen) {
- // native Promise is not patchable, we need to use `then` directly
- // issue 1078
- nativeThen = nativeMicroTaskQueuePromise['then'];
- }
- nativeThen.call(nativeMicroTaskQueuePromise, drainMicroTaskQueue);
- }
- else {
- global[symbolSetTimeout](drainMicroTaskQueue, 0);
- }
- }
- task && _microTaskQueue.push(task);
- }
- function drainMicroTaskQueue() {
- if (!_isDrainingMicrotaskQueue) {
- _isDrainingMicrotaskQueue = true;
- while (_microTaskQueue.length) {
- const queue = _microTaskQueue;
- _microTaskQueue = [];
- for (let i = 0; i < queue.length; i++) {
- const task = queue[i];
- try {
- task.zone.runTask(task, null, null);
- }
- catch (error) {
- _api.onUnhandledError(error);
- }
- }
- }
- _api.microtaskDrainDone();
- _isDrainingMicrotaskQueue = false;
- }
- }
- //////////////////////////////////////////////////////
- //////////////////////////////////////////////////////
- /// BOOTSTRAP
- //////////////////////////////////////////////////////
- //////////////////////////////////////////////////////
- const NO_ZONE = { name: 'NO ZONE' };
- const notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';
- const microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';
- const patches = {};
- const _api = {
- symbol: __symbol__,
- currentZoneFrame: () => _currentZoneFrame,
- onUnhandledError: noop,
- microtaskDrainDone: noop,
- scheduleMicroTask: scheduleMicroTask,
- showUncaughtError: () => !Zone[__symbol__('ignoreConsoleErrorUncaughtError')],
- patchEventTarget: () => [],
- patchOnProperties: noop,
- patchMethod: () => noop,
- bindArguments: () => [],
- patchThen: () => noop,
- patchMacroTask: () => noop,
- setNativePromise: (NativePromise) => {
- // sometimes NativePromise.resolve static function
- // is not ready yet, (such as core-js/es6.promise)
- // so we need to check here.
- if (NativePromise && typeof NativePromise.resolve === 'function') {
- nativeMicroTaskQueuePromise = NativePromise.resolve(0);
- }
- },
- patchEventPrototype: () => noop,
- isIEOrEdge: () => false,
- getGlobalObjects: () => undefined,
- ObjectDefineProperty: () => noop,
- ObjectGetOwnPropertyDescriptor: () => undefined,
- ObjectCreate: () => undefined,
- ArraySlice: () => [],
- patchClass: () => noop,
- wrapWithCurrentZone: () => noop,
- filterProperties: () => [],
- attachOriginToPatched: () => noop,
- _redefineProperty: () => noop,
- patchCallbacks: () => noop
- };
- let _currentZoneFrame = { parent: null, zone: new Zone(null, null) };
- let _currentTask = null;
- let _numberOfNestedTaskFrames = 0;
- function noop() { }
- function __symbol__(name) {
- return '__zone_symbol__' + name;
- }
- performanceMeasure('Zone', 'Zone');
- return global['Zone'] = Zone;
-})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-Zone.__load_patch('ZoneAwarePromise', (global, Zone, api) => {
- const ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
- const ObjectDefineProperty = Object.defineProperty;
- function readableObjectToString(obj) {
- if (obj && obj.toString === Object.prototype.toString) {
- const className = obj.constructor && obj.constructor.name;
- return (className ? className : '') + ': ' + JSON.stringify(obj);
- }
- return obj ? obj.toString() : Object.prototype.toString.call(obj);
- }
- const __symbol__ = api.symbol;
- const _uncaughtPromiseErrors = [];
- const symbolPromise = __symbol__('Promise');
- const symbolThen = __symbol__('then');
- const creationTrace = '__creationTrace__';
- api.onUnhandledError = (e) => {
- if (api.showUncaughtError()) {
- const rejection = e && e.rejection;
- if (rejection) {
- console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);
- }
- else {
- console.error(e);
- }
- }
- };
- api.microtaskDrainDone = () => {
- while (_uncaughtPromiseErrors.length) {
- while (_uncaughtPromiseErrors.length) {
- const uncaughtPromiseError = _uncaughtPromiseErrors.shift();
- try {
- uncaughtPromiseError.zone.runGuarded(() => {
- throw uncaughtPromiseError;
- });
- }
- catch (error) {
- handleUnhandledRejection(error);
- }
- }
- }
- };
- const UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');
- function handleUnhandledRejection(e) {
- api.onUnhandledError(e);
- try {
- const handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];
- if (handler && typeof handler === 'function') {
- handler.call(this, e);
- }
- }
- catch (err) {
- }
- }
- function isThenable(value) {
- return value && value.then;
- }
- function forwardResolution(value) {
- return value;
- }
- function forwardRejection(rejection) {
- return ZoneAwarePromise.reject(rejection);
- }
- const symbolState = __symbol__('state');
- const symbolValue = __symbol__('value');
- const symbolFinally = __symbol__('finally');
- const symbolParentPromiseValue = __symbol__('parentPromiseValue');
- const symbolParentPromiseState = __symbol__('parentPromiseState');
- const source = 'Promise.then';
- const UNRESOLVED = null;
- const RESOLVED = true;
- const REJECTED = false;
- const REJECTED_NO_CATCH = 0;
- function makeResolver(promise, state) {
- return (v) => {
- try {
- resolvePromise(promise, state, v);
- }
- catch (err) {
- resolvePromise(promise, false, err);
- }
- // Do not return value or you will break the Promise spec.
- };
- }
- const once = function () {
- let wasCalled = false;
- return function wrapper(wrappedFunction) {
- return function () {
- if (wasCalled) {
- return;
- }
- wasCalled = true;
- wrappedFunction.apply(null, arguments);
- };
- };
- };
- const TYPE_ERROR = 'Promise resolved with itself';
- const CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');
- // Promise Resolution
- function resolvePromise(promise, state, value) {
- const onceWrapper = once();
- if (promise === value) {
- throw new TypeError(TYPE_ERROR);
- }
- if (promise[symbolState] === UNRESOLVED) {
- // should only get value.then once based on promise spec.
- let then = null;
- try {
- if (typeof value === 'object' || typeof value === 'function') {
- then = value && value.then;
- }
- }
- catch (err) {
- onceWrapper(() => {
- resolvePromise(promise, false, err);
- })();
- return promise;
- }
- // if (value instanceof ZoneAwarePromise) {
- if (state !== REJECTED && value instanceof ZoneAwarePromise &&
- value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&
- value[symbolState] !== UNRESOLVED) {
- clearRejectedNoCatch(value);
- resolvePromise(promise, value[symbolState], value[symbolValue]);
- }
- else if (state !== REJECTED && typeof then === 'function') {
- try {
- then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));
- }
- catch (err) {
- onceWrapper(() => {
- resolvePromise(promise, false, err);
- })();
- }
- }
- else {
- promise[symbolState] = state;
- const queue = promise[symbolValue];
- promise[symbolValue] = value;
- if (promise[symbolFinally] === symbolFinally) {
- // the promise is generated by Promise.prototype.finally
- if (state === RESOLVED) {
- // the state is resolved, should ignore the value
- // and use parent promise value
- promise[symbolState] = promise[symbolParentPromiseState];
- promise[symbolValue] = promise[symbolParentPromiseValue];
- }
- }
- // record task information in value when error occurs, so we can
- // do some additional work such as render longStackTrace
- if (state === REJECTED && value instanceof Error) {
- // check if longStackTraceZone is here
- const trace = Zone.currentTask && Zone.currentTask.data &&
- Zone.currentTask.data[creationTrace];
- if (trace) {
- // only keep the long stack trace into error when in longStackTraceZone
- ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });
- }
- }
- for (let i = 0; i < queue.length;) {
- scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);
- }
- if (queue.length == 0 && state == REJECTED) {
- promise[symbolState] = REJECTED_NO_CATCH;
- try {
- // try to print more readable error log
- throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +
- (value && value.stack ? '\n' + value.stack : ''));
- }
- catch (err) {
- const error = err;
- error.rejection = value;
- error.promise = promise;
- error.zone = Zone.current;
- error.task = Zone.currentTask;
- _uncaughtPromiseErrors.push(error);
- api.scheduleMicroTask(); // to make sure that it is running
- }
- }
- }
- }
- // Resolving an already resolved promise is a noop.
- return promise;
- }
- const REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');
- function clearRejectedNoCatch(promise) {
- if (promise[symbolState] === REJECTED_NO_CATCH) {
- // if the promise is rejected no catch status
- // and queue.length > 0, means there is a error handler
- // here to handle the rejected promise, we should trigger
- // windows.rejectionhandled eventHandler or nodejs rejectionHandled
- // eventHandler
- try {
- const handler = Zone[REJECTION_HANDLED_HANDLER];
- if (handler && typeof handler === 'function') {
- handler.call(this, { rejection: promise[symbolValue], promise: promise });
- }
- }
- catch (err) {
- }
- promise[symbolState] = REJECTED;
- for (let i = 0; i < _uncaughtPromiseErrors.length; i++) {
- if (promise === _uncaughtPromiseErrors[i].promise) {
- _uncaughtPromiseErrors.splice(i, 1);
- }
- }
- }
- }
- function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {
- clearRejectedNoCatch(promise);
- const promiseState = promise[symbolState];
- const delegate = promiseState ?
- (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :
- (typeof onRejected === 'function') ? onRejected : forwardRejection;
- zone.scheduleMicroTask(source, () => {
- try {
- const parentPromiseValue = promise[symbolValue];
- const isFinallyPromise = chainPromise && symbolFinally === chainPromise[symbolFinally];
- if (isFinallyPromise) {
- // if the promise is generated from finally call, keep parent promise's state and value
- chainPromise[symbolParentPromiseValue] = parentPromiseValue;
- chainPromise[symbolParentPromiseState] = promiseState;
- }
- // should not pass value to finally callback
- const value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?
- [] :
- [parentPromiseValue]);
- resolvePromise(chainPromise, true, value);
- }
- catch (error) {
- // if error occurs, should always return this error
- resolvePromise(chainPromise, false, error);
- }
- }, chainPromise);
- }
- const ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';
- class ZoneAwarePromise {
- constructor(executor) {
- const promise = this;
- if (!(promise instanceof ZoneAwarePromise)) {
- throw new Error('Must be an instanceof Promise.');
- }
- promise[symbolState] = UNRESOLVED;
- promise[symbolValue] = []; // queue;
- try {
- executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));
- }
- catch (error) {
- resolvePromise(promise, false, error);
- }
- }
- static toString() {
- return ZONE_AWARE_PROMISE_TO_STRING;
- }
- static resolve(value) {
- return resolvePromise(new this(null), RESOLVED, value);
- }
- static reject(error) {
- return resolvePromise(new this(null), REJECTED, error);
- }
- static race(values) {
- let resolve;
- let reject;
- let promise = new this((res, rej) => {
- resolve = res;
- reject = rej;
- });
- function onResolve(value) {
- resolve(value);
- }
- function onReject(error) {
- reject(error);
- }
- for (let value of values) {
- if (!isThenable(value)) {
- value = this.resolve(value);
- }
- value.then(onResolve, onReject);
- }
- return promise;
- }
- static all(values) {
- let resolve;
- let reject;
- let promise = new this((res, rej) => {
- resolve = res;
- reject = rej;
- });
- // Start at 2 to prevent prematurely resolving if .then is called immediately.
- let unresolvedCount = 2;
- let valueIndex = 0;
- const resolvedValues = [];
- for (let value of values) {
- if (!isThenable(value)) {
- value = this.resolve(value);
- }
- const curValueIndex = valueIndex;
- value.then((value) => {
- resolvedValues[curValueIndex] = value;
- unresolvedCount--;
- if (unresolvedCount === 0) {
- resolve(resolvedValues);
- }
- }, reject);
- unresolvedCount++;
- valueIndex++;
- }
- // Make the unresolvedCount zero-based again.
- unresolvedCount -= 2;
- if (unresolvedCount === 0) {
- resolve(resolvedValues);
- }
- return promise;
- }
- get [Symbol.toStringTag]() {
- return 'Promise';
- }
- then(onFulfilled, onRejected) {
- const chainPromise = new this.constructor(null);
- const zone = Zone.current;
- if (this[symbolState] == UNRESOLVED) {
- this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);
- }
- else {
- scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);
- }
- return chainPromise;
- }
- catch(onRejected) {
- return this.then(null, onRejected);
- }
- finally(onFinally) {
- const chainPromise = new this.constructor(null);
- chainPromise[symbolFinally] = symbolFinally;
- const zone = Zone.current;
- if (this[symbolState] == UNRESOLVED) {
- this[symbolValue].push(zone, chainPromise, onFinally, onFinally);
- }
- else {
- scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);
- }
- return chainPromise;
- }
- }
- // Protect against aggressive optimizers dropping seemingly unused properties.
- // E.g. Closure Compiler in advanced mode.
- ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;
- ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;
- ZoneAwarePromise['race'] = ZoneAwarePromise.race;
- ZoneAwarePromise['all'] = ZoneAwarePromise.all;
- const NativePromise = global[symbolPromise] = global['Promise'];
- const ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');
- let desc = ObjectGetOwnPropertyDescriptor(global, 'Promise');
- if (!desc || desc.configurable) {
- desc && delete desc.writable;
- desc && delete desc.value;
- if (!desc) {
- desc = { configurable: true, enumerable: true };
- }
- desc.get = function () {
- // if we already set ZoneAwarePromise, use patched one
- // otherwise return native one.
- return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];
- };
- desc.set = function (NewNativePromise) {
- if (NewNativePromise === ZoneAwarePromise) {
- // if the NewNativePromise is ZoneAwarePromise
- // save to global
- global[ZONE_AWARE_PROMISE] = NewNativePromise;
- }
- else {
- // if the NewNativePromise is not ZoneAwarePromise
- // for example: after load zone.js, some library just
- // set es6-promise to global, if we set it to global
- // directly, assertZonePatched will fail and angular
- // will not loaded, so we just set the NewNativePromise
- // to global[symbolPromise], so the result is just like
- // we load ES6 Promise before zone.js
- global[symbolPromise] = NewNativePromise;
- if (!NewNativePromise.prototype[symbolThen]) {
- patchThen(NewNativePromise);
- }
- api.setNativePromise(NewNativePromise);
- }
- };
- ObjectDefineProperty(global, 'Promise', desc);
- }
- global['Promise'] = ZoneAwarePromise;
- const symbolThenPatched = __symbol__('thenPatched');
- function patchThen(Ctor) {
- const proto = Ctor.prototype;
- const prop = ObjectGetOwnPropertyDescriptor(proto, 'then');
- if (prop && (prop.writable === false || !prop.configurable)) {
- // check Ctor.prototype.then propertyDescriptor is writable or not
- // in meteor env, writable is false, we should ignore such case
- return;
- }
- const originalThen = proto.then;
- // Keep a reference to the original method.
- proto[symbolThen] = originalThen;
- Ctor.prototype.then = function (onResolve, onReject) {
- const wrapped = new ZoneAwarePromise((resolve, reject) => {
- originalThen.call(this, resolve, reject);
- });
- return wrapped.then(onResolve, onReject);
- };
- Ctor[symbolThenPatched] = true;
- }
- api.patchThen = patchThen;
- function zoneify(fn) {
- return function () {
- let resultPromise = fn.apply(this, arguments);
- if (resultPromise instanceof ZoneAwarePromise) {
- return resultPromise;
- }
- let ctor = resultPromise.constructor;
- if (!ctor[symbolThenPatched]) {
- patchThen(ctor);
- }
- return resultPromise;
- };
- }
- if (NativePromise) {
- patchThen(NativePromise);
- const fetch = global['fetch'];
- if (typeof fetch == 'function') {
- global[api.symbol('fetch')] = fetch;
- global['fetch'] = zoneify(fetch);
- }
- }
- // This is not part of public API, but it is useful for tests, so we expose it.
- Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;
- return ZoneAwarePromise;
-});
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-/**
- * Suppress closure compiler errors about unknown 'Zone' variable
- * @fileoverview
- * @suppress {undefinedVars,globalThis,missingRequire}
- */
-// issue #989, to reduce bundle size, use short name
-/** Object.getOwnPropertyDescriptor */
-const ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-/** Object.defineProperty */
-const ObjectDefineProperty = Object.defineProperty;
-/** Object.getPrototypeOf */
-const ObjectGetPrototypeOf = Object.getPrototypeOf;
-/** Object.create */
-const ObjectCreate = Object.create;
-/** Array.prototype.slice */
-const ArraySlice = Array.prototype.slice;
-/** addEventListener string const */
-const ADD_EVENT_LISTENER_STR = 'addEventListener';
-/** removeEventListener string const */
-const REMOVE_EVENT_LISTENER_STR = 'removeEventListener';
-/** zoneSymbol addEventListener */
-const ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);
-/** zoneSymbol removeEventListener */
-const ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);
-/** true string const */
-const TRUE_STR = 'true';
-/** false string const */
-const FALSE_STR = 'false';
-/** __zone_symbol__ string const */
-const ZONE_SYMBOL_PREFIX = '__zone_symbol__';
-function wrapWithCurrentZone(callback, source) {
- return Zone.current.wrap(callback, source);
-}
-function scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {
- return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);
-}
-const zoneSymbol = Zone.__symbol__;
-const isWindowExists = typeof window !== 'undefined';
-const internalWindow = isWindowExists ? window : undefined;
-const _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;
-const REMOVE_ATTRIBUTE = 'removeAttribute';
-const NULL_ON_PROP_VALUE = [null];
-function bindArguments(args, source) {
- for (let i = args.length - 1; i >= 0; i--) {
- if (typeof args[i] === 'function') {
- args[i] = wrapWithCurrentZone(args[i], source + '_' + i);
- }
- }
- return args;
-}
-function patchPrototype(prototype, fnNames) {
- const source = prototype.constructor['name'];
- for (let i = 0; i < fnNames.length; i++) {
- const name = fnNames[i];
- const delegate = prototype[name];
- if (delegate) {
- const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name);
- if (!isPropertyWritable(prototypeDesc)) {
- continue;
- }
- prototype[name] = ((delegate) => {
- const patched = function () {
- return delegate.apply(this, bindArguments(arguments, source + '.' + name));
- };
- attachOriginToPatched(patched, delegate);
- return patched;
- })(delegate);
- }
- }
-}
-function isPropertyWritable(propertyDesc) {
- if (!propertyDesc) {
- return true;
- }
- if (propertyDesc.writable === false) {
- return false;
- }
- return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');
-}
-const isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);
-// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify
-// this code.
-const isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&
- {}.toString.call(_global.process) === '[object process]');
-const isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);
-// we are in electron of nw, so we are both browser and nodejs
-// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify
-// this code.
-const isMix = typeof _global.process !== 'undefined' &&
- {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&
- !!(isWindowExists && internalWindow['HTMLElement']);
-const zoneSymbolEventNames = {};
-const wrapFn = function (event) {
- // https://github.com/angular/zone.js/issues/911, in IE, sometimes
- // event will be undefined, so we need to use window.event
- event = event || _global.event;
- if (!event) {
- return;
- }
- let eventNameSymbol = zoneSymbolEventNames[event.type];
- if (!eventNameSymbol) {
- eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);
- }
- const target = this || event.target || _global;
- const listener = target[eventNameSymbol];
- let result;
- if (isBrowser && target === internalWindow && event.type === 'error') {
- // window.onerror have different signiture
- // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror
- // and onerror callback will prevent default when callback return true
- const errorEvent = event;
- result = listener &&
- listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);
- if (result === true) {
- event.preventDefault();
- }
- }
- else {
- result = listener && listener.apply(this, arguments);
- if (result != undefined && !result) {
- event.preventDefault();
- }
- }
- return result;
-};
-function patchProperty(obj, prop, prototype) {
- let desc = ObjectGetOwnPropertyDescriptor(obj, prop);
- if (!desc && prototype) {
- // when patch window object, use prototype to check prop exist or not
- const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);
- if (prototypeDesc) {
- desc = { enumerable: true, configurable: true };
- }
- }
- // if the descriptor not exists or is not configurable
- // just return
- if (!desc || !desc.configurable) {
- return;
- }
- const onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');
- if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {
- return;
- }
- // A property descriptor cannot have getter/setter and be writable
- // deleting the writable and value properties avoids this error:
- //
- // TypeError: property descriptors must not specify a value or be writable when a
- // getter or setter has been specified
- delete desc.writable;
- delete desc.value;
- const originalDescGet = desc.get;
- const originalDescSet = desc.set;
- // substr(2) cuz 'onclick' -> 'click', etc
- const eventName = prop.substr(2);
- let eventNameSymbol = zoneSymbolEventNames[eventName];
- if (!eventNameSymbol) {
- eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);
- }
- desc.set = function (newValue) {
- // in some of windows's onproperty callback, this is undefined
- // so we need to check it
- let target = this;
- if (!target && obj === _global) {
- target = _global;
- }
- if (!target) {
- return;
- }
- let previousValue = target[eventNameSymbol];
- if (previousValue) {
- target.removeEventListener(eventName, wrapFn);
- }
- // issue #978, when onload handler was added before loading zone.js
- // we should remove it with originalDescSet
- if (originalDescSet) {
- originalDescSet.apply(target, NULL_ON_PROP_VALUE);
- }
- if (typeof newValue === 'function') {
- target[eventNameSymbol] = newValue;
- target.addEventListener(eventName, wrapFn, false);
- }
- else {
- target[eventNameSymbol] = null;
- }
- };
- // The getter would return undefined for unassigned properties but the default value of an
- // unassigned property is null
- desc.get = function () {
- // in some of windows's onproperty callback, this is undefined
- // so we need to check it
- let target = this;
- if (!target && obj === _global) {
- target = _global;
- }
- if (!target) {
- return null;
- }
- const listener = target[eventNameSymbol];
- if (listener) {
- return listener;
- }
- else if (originalDescGet) {
- // result will be null when use inline event attribute,
- // such as OK
- // because the onclick function is internal raw uncompiled handler
- // the onclick will be evaluated when first time event was triggered or
- // the property is accessed, https://github.com/angular/zone.js/issues/525
- // so we should use original native get to retrieve the handler
- let value = originalDescGet && originalDescGet.call(this);
- if (value) {
- desc.set.call(this, value);
- if (typeof target[REMOVE_ATTRIBUTE] === 'function') {
- target.removeAttribute(prop);
- }
- return value;
- }
- }
- return null;
- };
- ObjectDefineProperty(obj, prop, desc);
- obj[onPropPatchedSymbol] = true;
-}
-function patchOnProperties(obj, properties, prototype) {
- if (properties) {
- for (let i = 0; i < properties.length; i++) {
- patchProperty(obj, 'on' + properties[i], prototype);
- }
- }
- else {
- const onProperties = [];
- for (const prop in obj) {
- if (prop.substr(0, 2) == 'on') {
- onProperties.push(prop);
- }
- }
- for (let j = 0; j < onProperties.length; j++) {
- patchProperty(obj, onProperties[j], prototype);
- }
- }
-}
-const originalInstanceKey = zoneSymbol('originalInstance');
-// wrap some native API on `window`
-function patchClass(className) {
- const OriginalClass = _global[className];
- if (!OriginalClass)
- return;
- // keep original class in global
- _global[zoneSymbol(className)] = OriginalClass;
- _global[className] = function () {
- const a = bindArguments(arguments, className);
- switch (a.length) {
- case 0:
- this[originalInstanceKey] = new OriginalClass();
- break;
- case 1:
- this[originalInstanceKey] = new OriginalClass(a[0]);
- break;
- case 2:
- this[originalInstanceKey] = new OriginalClass(a[0], a[1]);
- break;
- case 3:
- this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);
- break;
- case 4:
- this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);
- break;
- default:
- throw new Error('Arg list too long.');
- }
- };
- // attach original delegate to patched function
- attachOriginToPatched(_global[className], OriginalClass);
- const instance = new OriginalClass(function () { });
- let prop;
- for (prop in instance) {
- // https://bugs.webkit.org/show_bug.cgi?id=44721
- if (className === 'XMLHttpRequest' && prop === 'responseBlob')
- continue;
- (function (prop) {
- if (typeof instance[prop] === 'function') {
- _global[className].prototype[prop] = function () {
- return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);
- };
- }
- else {
- ObjectDefineProperty(_global[className].prototype, prop, {
- set: function (fn) {
- if (typeof fn === 'function') {
- this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);
- // keep callback in wrapped function so we can
- // use it in Function.prototype.toString to return
- // the native one.
- attachOriginToPatched(this[originalInstanceKey][prop], fn);
- }
- else {
- this[originalInstanceKey][prop] = fn;
- }
- },
- get: function () {
- return this[originalInstanceKey][prop];
- }
- });
- }
- }(prop));
- }
- for (prop in OriginalClass) {
- if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {
- _global[className][prop] = OriginalClass[prop];
- }
- }
-}
-function copySymbolProperties(src, dest) {
- if (typeof Object.getOwnPropertySymbols !== 'function') {
- return;
- }
- const symbols = Object.getOwnPropertySymbols(src);
- symbols.forEach((symbol) => {
- const desc = Object.getOwnPropertyDescriptor(src, symbol);
- Object.defineProperty(dest, symbol, {
- get: function () {
- return src[symbol];
- },
- set: function (value) {
- if (desc && (!desc.writable || typeof desc.set !== 'function')) {
- // if src[symbol] is not writable or not have a setter, just return
- return;
- }
- src[symbol] = value;
- },
- enumerable: desc ? desc.enumerable : true,
- configurable: desc ? desc.configurable : true
- });
- });
-}
-let shouldCopySymbolProperties = false;
-
-function patchMethod(target, name, patchFn) {
- let proto = target;
- while (proto && !proto.hasOwnProperty(name)) {
- proto = ObjectGetPrototypeOf(proto);
- }
- if (!proto && target[name]) {
- // somehow we did not find it, but we can see it. This happens on IE for Window properties.
- proto = target;
- }
- const delegateName = zoneSymbol(name);
- let delegate = null;
- if (proto && !(delegate = proto[delegateName])) {
- delegate = proto[delegateName] = proto[name];
- // check whether proto[name] is writable
- // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob
- const desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);
- if (isPropertyWritable(desc)) {
- const patchDelegate = patchFn(delegate, delegateName, name);
- proto[name] = function () {
- return patchDelegate(this, arguments);
- };
- attachOriginToPatched(proto[name], delegate);
- if (shouldCopySymbolProperties) {
- copySymbolProperties(delegate, proto[name]);
- }
- }
- }
- return delegate;
-}
-// TODO: @JiaLiPassion, support cancel task later if necessary
-function patchMacroTask(obj, funcName, metaCreator) {
- let setNative = null;
- function scheduleTask(task) {
- const data = task.data;
- data.args[data.cbIdx] = function () {
- task.invoke.apply(this, arguments);
- };
- setNative.apply(data.target, data.args);
- return task;
- }
- setNative = patchMethod(obj, funcName, (delegate) => function (self, args) {
- const meta = metaCreator(self, args);
- if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {
- return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);
- }
- else {
- // cause an error by calling it directly.
- return delegate.apply(self, args);
- }
- });
-}
-
-function attachOriginToPatched(patched, original) {
- patched[zoneSymbol('OriginalDelegate')] = original;
-}
-let isDetectedIEOrEdge = false;
-let ieOrEdge = false;
-function isIE() {
- try {
- const ua = internalWindow.navigator.userAgent;
- if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {
- return true;
- }
- }
- catch (error) {
- }
- return false;
-}
-function isIEOrEdge() {
- if (isDetectedIEOrEdge) {
- return ieOrEdge;
- }
- isDetectedIEOrEdge = true;
- try {
- const ua = internalWindow.navigator.userAgent;
- if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {
- ieOrEdge = true;
- }
- }
- catch (error) {
- }
- return ieOrEdge;
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-// override Function.prototype.toString to make zone.js patched function
-// look like native function
-Zone.__load_patch('toString', (global) => {
- // patch Func.prototype.toString to let them look like native
- const originalFunctionToString = Function.prototype.toString;
- const ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');
- const PROMISE_SYMBOL = zoneSymbol('Promise');
- const ERROR_SYMBOL = zoneSymbol('Error');
- const newFunctionToString = function toString() {
- if (typeof this === 'function') {
- const originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];
- if (originalDelegate) {
- if (typeof originalDelegate === 'function') {
- return originalFunctionToString.call(originalDelegate);
- }
- else {
- return Object.prototype.toString.call(originalDelegate);
- }
- }
- if (this === Promise) {
- const nativePromise = global[PROMISE_SYMBOL];
- if (nativePromise) {
- return originalFunctionToString.call(nativePromise);
- }
- }
- if (this === Error) {
- const nativeError = global[ERROR_SYMBOL];
- if (nativeError) {
- return originalFunctionToString.call(nativeError);
- }
- }
- }
- return originalFunctionToString.call(this);
- };
- newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;
- Function.prototype.toString = newFunctionToString;
- // patch Object.prototype.toString to let them look like native
- const originalObjectToString = Object.prototype.toString;
- const PROMISE_OBJECT_TO_STRING = '[object Promise]';
- Object.prototype.toString = function () {
- if (this instanceof Promise) {
- return PROMISE_OBJECT_TO_STRING;
- }
- return originalObjectToString.call(this);
- };
-});
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-/**
- * @fileoverview
- * @suppress {missingRequire}
- */
-let passiveSupported = false;
-if (typeof window !== 'undefined') {
- try {
- const options = Object.defineProperty({}, 'passive', {
- get: function () {
- passiveSupported = true;
- }
- });
- window.addEventListener('test', options, options);
- window.removeEventListener('test', options, options);
- }
- catch (err) {
- passiveSupported = false;
- }
-}
-// an identifier to tell ZoneTask do not create a new invoke closure
-const OPTIMIZED_ZONE_EVENT_TASK_DATA = {
- useG: true
-};
-const zoneSymbolEventNames$1 = {};
-const globalSources = {};
-const EVENT_NAME_SYMBOL_REGX = /^__zone_symbol__(\w+)(true|false)$/;
-const IMMEDIATE_PROPAGATION_SYMBOL = ('__zone_symbol__propagationStopped');
-function patchEventTarget(_global, apis, patchOptions) {
- const ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;
- const REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;
- const LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';
- const REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';
- const zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);
- const ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';
- const PREPEND_EVENT_LISTENER = 'prependListener';
- const PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';
- const invokeTask = function (task, target, event) {
- // for better performance, check isRemoved which is set
- // by removeEventListener
- if (task.isRemoved) {
- return;
- }
- const delegate = task.callback;
- if (typeof delegate === 'object' && delegate.handleEvent) {
- // create the bind version of handleEvent when invoke
- task.callback = (event) => delegate.handleEvent(event);
- task.originalDelegate = delegate;
- }
- // invoke static task.invoke
- task.invoke(task, target, [event]);
- const options = task.options;
- if (options && typeof options === 'object' && options.once) {
- // if options.once is true, after invoke once remove listener here
- // only browser need to do this, nodejs eventEmitter will cal removeListener
- // inside EventEmitter.once
- const delegate = task.originalDelegate ? task.originalDelegate : task.callback;
- target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate, options);
- }
- };
- // global shared zoneAwareCallback to handle all event callback with capture = false
- const globalZoneAwareCallback = function (event) {
- // https://github.com/angular/zone.js/issues/911, in IE, sometimes
- // event will be undefined, so we need to use window.event
- event = event || _global.event;
- if (!event) {
- return;
- }
- // event.target is needed for Samsung TV and SourceBuffer
- // || global is needed https://github.com/angular/zone.js/issues/190
- const target = this || event.target || _global;
- const tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];
- if (tasks) {
- // invoke all tasks which attached to current target with given event.type and capture = false
- // for performance concern, if task.length === 1, just invoke
- if (tasks.length === 1) {
- invokeTask(tasks[0], target, event);
- }
- else {
- // https://github.com/angular/zone.js/issues/836
- // copy the tasks array before invoke, to avoid
- // the callback will remove itself or other listener
- const copyTasks = tasks.slice();
- for (let i = 0; i < copyTasks.length; i++) {
- if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {
- break;
- }
- invokeTask(copyTasks[i], target, event);
- }
- }
- }
- };
- // global shared zoneAwareCallback to handle all event callback with capture = true
- const globalZoneAwareCaptureCallback = function (event) {
- // https://github.com/angular/zone.js/issues/911, in IE, sometimes
- // event will be undefined, so we need to use window.event
- event = event || _global.event;
- if (!event) {
- return;
- }
- // event.target is needed for Samsung TV and SourceBuffer
- // || global is needed https://github.com/angular/zone.js/issues/190
- const target = this || event.target || _global;
- const tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];
- if (tasks) {
- // invoke all tasks which attached to current target with given event.type and capture = false
- // for performance concern, if task.length === 1, just invoke
- if (tasks.length === 1) {
- invokeTask(tasks[0], target, event);
- }
- else {
- // https://github.com/angular/zone.js/issues/836
- // copy the tasks array before invoke, to avoid
- // the callback will remove itself or other listener
- const copyTasks = tasks.slice();
- for (let i = 0; i < copyTasks.length; i++) {
- if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {
- break;
- }
- invokeTask(copyTasks[i], target, event);
- }
- }
- }
- };
- function patchEventTargetMethods(obj, patchOptions) {
- if (!obj) {
- return false;
- }
- let useGlobalCallback = true;
- if (patchOptions && patchOptions.useG !== undefined) {
- useGlobalCallback = patchOptions.useG;
- }
- const validateHandler = patchOptions && patchOptions.vh;
- let checkDuplicate = true;
- if (patchOptions && patchOptions.chkDup !== undefined) {
- checkDuplicate = patchOptions.chkDup;
- }
- let returnTarget = false;
- if (patchOptions && patchOptions.rt !== undefined) {
- returnTarget = patchOptions.rt;
- }
- let proto = obj;
- while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {
- proto = ObjectGetPrototypeOf(proto);
- }
- if (!proto && obj[ADD_EVENT_LISTENER]) {
- // somehow we did not find it, but we can see it. This happens on IE for Window properties.
- proto = obj;
- }
- if (!proto) {
- return false;
- }
- if (proto[zoneSymbolAddEventListener]) {
- return false;
- }
- const eventNameToString = patchOptions && patchOptions.eventNameToString;
- // a shared global taskData to pass data for scheduleEventTask
- // so we do not need to create a new object just for pass some data
- const taskData = {};
- const nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];
- const nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =
- proto[REMOVE_EVENT_LISTENER];
- const nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =
- proto[LISTENERS_EVENT_LISTENER];
- const nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =
- proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];
- let nativePrependEventListener;
- if (patchOptions && patchOptions.prepend) {
- nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =
- proto[patchOptions.prepend];
- }
- function checkIsPassive(task) {
- if (!passiveSupported && typeof taskData.options !== 'boolean' &&
- typeof taskData.options !== 'undefined' && taskData.options !== null) {
- // options is a non-null non-undefined object
- // passive is not supported
- // don't pass options as object
- // just pass capture as a boolean
- task.options = !!taskData.options.capture;
- taskData.options = task.options;
- }
- }
- const customScheduleGlobal = function (task) {
- // if there is already a task for the eventName + capture,
- // just return, because we use the shared globalZoneAwareCallback here.
- if (taskData.isExisting) {
- return;
- }
- checkIsPassive(task);
- return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);
- };
- const customCancelGlobal = function (task) {
- // if task is not marked as isRemoved, this call is directly
- // from Zone.prototype.cancelTask, we should remove the task
- // from tasksList of target first
- if (!task.isRemoved) {
- const symbolEventNames = zoneSymbolEventNames$1[task.eventName];
- let symbolEventName;
- if (symbolEventNames) {
- symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];
- }
- const existingTasks = symbolEventName && task.target[symbolEventName];
- if (existingTasks) {
- for (let i = 0; i < existingTasks.length; i++) {
- const existingTask = existingTasks[i];
- if (existingTask === task) {
- existingTasks.splice(i, 1);
- // set isRemoved to data for faster invokeTask check
- task.isRemoved = true;
- if (existingTasks.length === 0) {
- // all tasks for the eventName + capture have gone,
- // remove globalZoneAwareCallback and remove the task cache from target
- task.allRemoved = true;
- task.target[symbolEventName] = null;
- }
- break;
- }
- }
- }
- }
- // if all tasks for the eventName + capture have gone,
- // we will really remove the global event callback,
- // if not, return
- if (!task.allRemoved) {
- return;
- }
- return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);
- };
- const customScheduleNonGlobal = function (task) {
- checkIsPassive(task);
- return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);
- };
- const customSchedulePrepend = function (task) {
- return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);
- };
- const customCancelNonGlobal = function (task) {
- return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);
- };
- const customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;
- const customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;
- const compareTaskCallbackVsDelegate = function (task, delegate) {
- const typeOfDelegate = typeof delegate;
- return (typeOfDelegate === 'function' && task.callback === delegate) ||
- (typeOfDelegate === 'object' && task.originalDelegate === delegate);
- };
- const compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;
- const blackListedEvents = Zone[Zone.__symbol__('BLACK_LISTED_EVENTS')];
- const makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget = false, prepend = false) {
- return function () {
- const target = this || _global;
- const eventName = arguments[0];
- let delegate = arguments[1];
- if (!delegate) {
- return nativeListener.apply(this, arguments);
- }
- if (isNode && eventName === 'uncaughtException') {
- // don't patch uncaughtException of nodejs to prevent endless loop
- return nativeListener.apply(this, arguments);
- }
- // don't create the bind delegate function for handleEvent
- // case here to improve addEventListener performance
- // we will create the bind delegate when invoke
- let isHandleEvent = false;
- if (typeof delegate !== 'function') {
- if (!delegate.handleEvent) {
- return nativeListener.apply(this, arguments);
- }
- isHandleEvent = true;
- }
- if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {
- return;
- }
- const options = arguments[2];
- if (blackListedEvents) {
- // check black list
- for (let i = 0; i < blackListedEvents.length; i++) {
- if (eventName === blackListedEvents[i]) {
- return nativeListener.apply(this, arguments);
- }
- }
- }
- let capture;
- let once = false;
- if (options === undefined) {
- capture = false;
- }
- else if (options === true) {
- capture = true;
- }
- else if (options === false) {
- capture = false;
- }
- else {
- capture = options ? !!options.capture : false;
- once = options ? !!options.once : false;
- }
- const zone = Zone.current;
- const symbolEventNames = zoneSymbolEventNames$1[eventName];
- let symbolEventName;
- if (!symbolEventNames) {
- // the code is duplicate, but I just want to get some better performance
- const falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;
- const trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;
- const symbol = ZONE_SYMBOL_PREFIX + falseEventName;
- const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;
- zoneSymbolEventNames$1[eventName] = {};
- zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;
- zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;
- symbolEventName = capture ? symbolCapture : symbol;
- }
- else {
- symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];
- }
- let existingTasks = target[symbolEventName];
- let isExisting = false;
- if (existingTasks) {
- // already have task registered
- isExisting = true;
- if (checkDuplicate) {
- for (let i = 0; i < existingTasks.length; i++) {
- if (compare(existingTasks[i], delegate)) {
- // same callback, same capture, same event name, just return
- return;
- }
- }
- }
- }
- else {
- existingTasks = target[symbolEventName] = [];
- }
- let source;
- const constructorName = target.constructor['name'];
- const targetSource = globalSources[constructorName];
- if (targetSource) {
- source = targetSource[eventName];
- }
- if (!source) {
- source = constructorName + addSource +
- (eventNameToString ? eventNameToString(eventName) : eventName);
- }
- // do not create a new object as task.data to pass those things
- // just use the global shared one
- taskData.options = options;
- if (once) {
- // if addEventListener with once options, we don't pass it to
- // native addEventListener, instead we keep the once setting
- // and handle ourselves.
- taskData.options.once = false;
- }
- taskData.target = target;
- taskData.capture = capture;
- taskData.eventName = eventName;
- taskData.isExisting = isExisting;
- const data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;
- // keep taskData into data to allow onScheduleEventTask to access the task information
- if (data) {
- data.taskData = taskData;
- }
- const task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);
- // should clear taskData.target to avoid memory leak
- // issue, https://github.com/angular/angular/issues/20442
- taskData.target = null;
- // need to clear up taskData because it is a global object
- if (data) {
- data.taskData = null;
- }
- // have to save those information to task in case
- // application may call task.zone.cancelTask() directly
- if (once) {
- options.once = true;
- }
- if (!(!passiveSupported && typeof task.options === 'boolean')) {
- // if not support passive, and we pass an option object
- // to addEventListener, we should save the options to task
- task.options = options;
- }
- task.target = target;
- task.capture = capture;
- task.eventName = eventName;
- if (isHandleEvent) {
- // save original delegate for compare to check duplicate
- task.originalDelegate = delegate;
- }
- if (!prepend) {
- existingTasks.push(task);
- }
- else {
- existingTasks.unshift(task);
- }
- if (returnTarget) {
- return target;
- }
- };
- };
- proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);
- if (nativePrependEventListener) {
- proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);
- }
- proto[REMOVE_EVENT_LISTENER] = function () {
- const target = this || _global;
- const eventName = arguments[0];
- const options = arguments[2];
- let capture;
- if (options === undefined) {
- capture = false;
- }
- else if (options === true) {
- capture = true;
- }
- else if (options === false) {
- capture = false;
- }
- else {
- capture = options ? !!options.capture : false;
- }
- const delegate = arguments[1];
- if (!delegate) {
- return nativeRemoveEventListener.apply(this, arguments);
- }
- if (validateHandler &&
- !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {
- return;
- }
- const symbolEventNames = zoneSymbolEventNames$1[eventName];
- let symbolEventName;
- if (symbolEventNames) {
- symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];
- }
- const existingTasks = symbolEventName && target[symbolEventName];
- if (existingTasks) {
- for (let i = 0; i < existingTasks.length; i++) {
- const existingTask = existingTasks[i];
- if (compare(existingTask, delegate)) {
- existingTasks.splice(i, 1);
- // set isRemoved to data for faster invokeTask check
- existingTask.isRemoved = true;
- if (existingTasks.length === 0) {
- // all tasks for the eventName + capture have gone,
- // remove globalZoneAwareCallback and remove the task cache from target
- existingTask.allRemoved = true;
- target[symbolEventName] = null;
- }
- existingTask.zone.cancelTask(existingTask);
- if (returnTarget) {
- return target;
- }
- return;
- }
- }
- }
- // issue 930, didn't find the event name or callback
- // from zone kept existingTasks, the callback maybe
- // added outside of zone, we need to call native removeEventListener
- // to try to remove it.
- return nativeRemoveEventListener.apply(this, arguments);
- };
- proto[LISTENERS_EVENT_LISTENER] = function () {
- const target = this || _global;
- const eventName = arguments[0];
- const listeners = [];
- const tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);
- for (let i = 0; i < tasks.length; i++) {
- const task = tasks[i];
- let delegate = task.originalDelegate ? task.originalDelegate : task.callback;
- listeners.push(delegate);
- }
- return listeners;
- };
- proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {
- const target = this || _global;
- const eventName = arguments[0];
- if (!eventName) {
- const keys = Object.keys(target);
- for (let i = 0; i < keys.length; i++) {
- const prop = keys[i];
- const match = EVENT_NAME_SYMBOL_REGX.exec(prop);
- let evtName = match && match[1];
- // in nodejs EventEmitter, removeListener event is
- // used for monitoring the removeListener call,
- // so just keep removeListener eventListener until
- // all other eventListeners are removed
- if (evtName && evtName !== 'removeListener') {
- this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);
- }
- }
- // remove removeListener listener finally
- this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');
- }
- else {
- const symbolEventNames = zoneSymbolEventNames$1[eventName];
- if (symbolEventNames) {
- const symbolEventName = symbolEventNames[FALSE_STR];
- const symbolCaptureEventName = symbolEventNames[TRUE_STR];
- const tasks = target[symbolEventName];
- const captureTasks = target[symbolCaptureEventName];
- if (tasks) {
- const removeTasks = tasks.slice();
- for (let i = 0; i < removeTasks.length; i++) {
- const task = removeTasks[i];
- let delegate = task.originalDelegate ? task.originalDelegate : task.callback;
- this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);
- }
- }
- if (captureTasks) {
- const removeTasks = captureTasks.slice();
- for (let i = 0; i < removeTasks.length; i++) {
- const task = removeTasks[i];
- let delegate = task.originalDelegate ? task.originalDelegate : task.callback;
- this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);
- }
- }
- }
- }
- if (returnTarget) {
- return this;
- }
- };
- // for native toString patch
- attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);
- attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);
- if (nativeRemoveAllListeners) {
- attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);
- }
- if (nativeListeners) {
- attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);
- }
- return true;
- }
- let results = [];
- for (let i = 0; i < apis.length; i++) {
- results[i] = patchEventTargetMethods(apis[i], patchOptions);
- }
- return results;
-}
-function findEventTasks(target, eventName) {
- const foundTasks = [];
- for (let prop in target) {
- const match = EVENT_NAME_SYMBOL_REGX.exec(prop);
- let evtName = match && match[1];
- if (evtName && (!eventName || evtName === eventName)) {
- const tasks = target[prop];
- if (tasks) {
- for (let i = 0; i < tasks.length; i++) {
- foundTasks.push(tasks[i]);
- }
- }
- }
- }
- return foundTasks;
-}
-function patchEventPrototype(global, api) {
- const Event = global['Event'];
- if (Event && Event.prototype) {
- api.patchMethod(Event.prototype, 'stopImmediatePropagation', (delegate) => function (self, args) {
- self[IMMEDIATE_PROPAGATION_SYMBOL] = true;
- // we need to call the native stopImmediatePropagation
- // in case in some hybrid application, some part of
- // application will be controlled by zone, some are not
- delegate && delegate.apply(self, args);
- });
- }
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-function patchCallbacks(api, target, targetName, method, callbacks) {
- const symbol = Zone.__symbol__(method);
- if (target[symbol]) {
- return;
- }
- const nativeDelegate = target[symbol] = target[method];
- target[method] = function (name, opts, options) {
- if (opts && opts.prototype) {
- callbacks.forEach(function (callback) {
- const source = `${targetName}.${method}::` + callback;
- const prototype = opts.prototype;
- if (prototype.hasOwnProperty(callback)) {
- const descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);
- if (descriptor && descriptor.value) {
- descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);
- api._redefineProperty(opts.prototype, callback, descriptor);
- }
- else if (prototype[callback]) {
- prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);
- }
- }
- else if (prototype[callback]) {
- prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);
- }
- });
- }
- return nativeDelegate.call(target, name, opts, options);
- };
- api.attachOriginToPatched(target[method], nativeDelegate);
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-/*
- * This is necessary for Chrome and Chrome mobile, to enable
- * things like redefining `createdCallback` on an element.
- */
-const zoneSymbol$1 = Zone.__symbol__;
-const _defineProperty = Object[zoneSymbol$1('defineProperty')] = Object.defineProperty;
-const _getOwnPropertyDescriptor = Object[zoneSymbol$1('getOwnPropertyDescriptor')] =
- Object.getOwnPropertyDescriptor;
-const _create = Object.create;
-const unconfigurablesKey = zoneSymbol$1('unconfigurables');
-function propertyPatch() {
- Object.defineProperty = function (obj, prop, desc) {
- if (isUnconfigurable(obj, prop)) {
- throw new TypeError('Cannot assign to read only property \'' + prop + '\' of ' + obj);
- }
- const originalConfigurableFlag = desc.configurable;
- if (prop !== 'prototype') {
- desc = rewriteDescriptor(obj, prop, desc);
- }
- return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);
- };
- Object.defineProperties = function (obj, props) {
- Object.keys(props).forEach(function (prop) {
- Object.defineProperty(obj, prop, props[prop]);
- });
- return obj;
- };
- Object.create = function (obj, proto) {
- if (typeof proto === 'object' && !Object.isFrozen(proto)) {
- Object.keys(proto).forEach(function (prop) {
- proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);
- });
- }
- return _create(obj, proto);
- };
- Object.getOwnPropertyDescriptor = function (obj, prop) {
- const desc = _getOwnPropertyDescriptor(obj, prop);
- if (desc && isUnconfigurable(obj, prop)) {
- desc.configurable = false;
- }
- return desc;
- };
-}
-function _redefineProperty(obj, prop, desc) {
- const originalConfigurableFlag = desc.configurable;
- desc = rewriteDescriptor(obj, prop, desc);
- return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);
-}
-function isUnconfigurable(obj, prop) {
- return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];
-}
-function rewriteDescriptor(obj, prop, desc) {
- // issue-927, if the desc is frozen, don't try to change the desc
- if (!Object.isFrozen(desc)) {
- desc.configurable = true;
- }
- if (!desc.configurable) {
- // issue-927, if the obj is frozen, don't try to set the desc to obj
- if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {
- _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });
- }
- if (obj[unconfigurablesKey]) {
- obj[unconfigurablesKey][prop] = true;
- }
- }
- return desc;
-}
-function _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {
- try {
- return _defineProperty(obj, prop, desc);
- }
- catch (error) {
- if (desc.configurable) {
- // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's
- // retry with the original flag value
- if (typeof originalConfigurableFlag == 'undefined') {
- delete desc.configurable;
- }
- else {
- desc.configurable = originalConfigurableFlag;
- }
- try {
- return _defineProperty(obj, prop, desc);
- }
- catch (error) {
- let descJson = null;
- try {
- descJson = JSON.stringify(desc);
- }
- catch (error) {
- descJson = desc.toString();
- }
- console.log(`Attempting to configure '${prop}' with descriptor '${descJson}' on object '${obj}' and got error, giving up: ${error}`);
- }
- }
- else {
- throw error;
- }
- }
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-/**
- * @fileoverview
- * @suppress {globalThis}
- */
-const globalEventHandlersEventNames = [
- 'abort',
- 'animationcancel',
- 'animationend',
- 'animationiteration',
- 'auxclick',
- 'beforeinput',
- 'blur',
- 'cancel',
- 'canplay',
- 'canplaythrough',
- 'change',
- 'compositionstart',
- 'compositionupdate',
- 'compositionend',
- 'cuechange',
- 'click',
- 'close',
- 'contextmenu',
- 'curechange',
- 'dblclick',
- 'drag',
- 'dragend',
- 'dragenter',
- 'dragexit',
- 'dragleave',
- 'dragover',
- 'drop',
- 'durationchange',
- 'emptied',
- 'ended',
- 'error',
- 'focus',
- 'focusin',
- 'focusout',
- 'gotpointercapture',
- 'input',
- 'invalid',
- 'keydown',
- 'keypress',
- 'keyup',
- 'load',
- 'loadstart',
- 'loadeddata',
- 'loadedmetadata',
- 'lostpointercapture',
- 'mousedown',
- 'mouseenter',
- 'mouseleave',
- 'mousemove',
- 'mouseout',
- 'mouseover',
- 'mouseup',
- 'mousewheel',
- 'orientationchange',
- 'pause',
- 'play',
- 'playing',
- 'pointercancel',
- 'pointerdown',
- 'pointerenter',
- 'pointerleave',
- 'pointerlockchange',
- 'mozpointerlockchange',
- 'webkitpointerlockerchange',
- 'pointerlockerror',
- 'mozpointerlockerror',
- 'webkitpointerlockerror',
- 'pointermove',
- 'pointout',
- 'pointerover',
- 'pointerup',
- 'progress',
- 'ratechange',
- 'reset',
- 'resize',
- 'scroll',
- 'seeked',
- 'seeking',
- 'select',
- 'selectionchange',
- 'selectstart',
- 'show',
- 'sort',
- 'stalled',
- 'submit',
- 'suspend',
- 'timeupdate',
- 'volumechange',
- 'touchcancel',
- 'touchmove',
- 'touchstart',
- 'touchend',
- 'transitioncancel',
- 'transitionend',
- 'waiting',
- 'wheel'
-];
-const documentEventNames = [
- 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',
- 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',
- 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',
- 'visibilitychange', 'resume'
-];
-const windowEventNames = [
- 'absolutedeviceorientation',
- 'afterinput',
- 'afterprint',
- 'appinstalled',
- 'beforeinstallprompt',
- 'beforeprint',
- 'beforeunload',
- 'devicelight',
- 'devicemotion',
- 'deviceorientation',
- 'deviceorientationabsolute',
- 'deviceproximity',
- 'hashchange',
- 'languagechange',
- 'message',
- 'mozbeforepaint',
- 'offline',
- 'online',
- 'paint',
- 'pageshow',
- 'pagehide',
- 'popstate',
- 'rejectionhandled',
- 'storage',
- 'unhandledrejection',
- 'unload',
- 'userproximity',
- 'vrdisplyconnected',
- 'vrdisplaydisconnected',
- 'vrdisplaypresentchange'
-];
-const htmlElementEventNames = [
- 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',
- 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',
- 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'
-];
-const mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];
-const ieElementEventNames = [
- 'activate',
- 'afterupdate',
- 'ariarequest',
- 'beforeactivate',
- 'beforedeactivate',
- 'beforeeditfocus',
- 'beforeupdate',
- 'cellchange',
- 'controlselect',
- 'dataavailable',
- 'datasetchanged',
- 'datasetcomplete',
- 'errorupdate',
- 'filterchange',
- 'layoutcomplete',
- 'losecapture',
- 'move',
- 'moveend',
- 'movestart',
- 'propertychange',
- 'resizeend',
- 'resizestart',
- 'rowenter',
- 'rowexit',
- 'rowsdelete',
- 'rowsinserted',
- 'command',
- 'compassneedscalibration',
- 'deactivate',
- 'help',
- 'mscontentzoom',
- 'msmanipulationstatechanged',
- 'msgesturechange',
- 'msgesturedoubletap',
- 'msgestureend',
- 'msgesturehold',
- 'msgesturestart',
- 'msgesturetap',
- 'msgotpointercapture',
- 'msinertiastart',
- 'mslostpointercapture',
- 'mspointercancel',
- 'mspointerdown',
- 'mspointerenter',
- 'mspointerhover',
- 'mspointerleave',
- 'mspointermove',
- 'mspointerout',
- 'mspointerover',
- 'mspointerup',
- 'pointerout',
- 'mssitemodejumplistitemremoved',
- 'msthumbnailclick',
- 'stop',
- 'storagecommit'
-];
-const webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];
-const formEventNames = ['autocomplete', 'autocompleteerror'];
-const detailEventNames = ['toggle'];
-const frameEventNames = ['load'];
-const frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];
-const marqueeEventNames = ['bounce', 'finish', 'start'];
-const XMLHttpRequestEventNames = [
- 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',
- 'readystatechange'
-];
-const IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];
-const websocketEventNames = ['close', 'error', 'open', 'message'];
-const workerEventNames = ['error', 'message'];
-const eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);
-function filterProperties(target, onProperties, ignoreProperties) {
- if (!ignoreProperties || ignoreProperties.length === 0) {
- return onProperties;
- }
- const tip = ignoreProperties.filter(ip => ip.target === target);
- if (!tip || tip.length === 0) {
- return onProperties;
- }
- const targetIgnoreProperties = tip[0].ignoreProperties;
- return onProperties.filter(op => targetIgnoreProperties.indexOf(op) === -1);
-}
-function patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {
- // check whether target is available, sometimes target will be undefined
- // because different browser or some 3rd party plugin.
- if (!target) {
- return;
- }
- const filteredProperties = filterProperties(target, onProperties, ignoreProperties);
- patchOnProperties(target, filteredProperties, prototype);
-}
-function propertyDescriptorPatch(api, _global) {
- if (isNode && !isMix) {
- return;
- }
- if (Zone[api.symbol('patchEvents')]) {
- // events are already been patched by legacy patch.
- return;
- }
- const supportsWebSocket = typeof WebSocket !== 'undefined';
- const ignoreProperties = _global['__Zone_ignore_on_properties'];
- // for browsers that we can patch the descriptor: Chrome & Firefox
- if (isBrowser) {
- const internalWindow = window;
- const ignoreErrorProperties = isIE ? [{ target: internalWindow, ignoreProperties: ['error'] }] : [];
- // in IE/Edge, onProp not exist in window object, but in WindowPrototype
- // so we need to pass WindowPrototype to check onProp exist or not
- patchFilteredProperties(internalWindow, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));
- patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);
- if (typeof internalWindow['SVGElement'] !== 'undefined') {
- patchFilteredProperties(internalWindow['SVGElement'].prototype, eventNames, ignoreProperties);
- }
- patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);
- patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);
- patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);
- patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);
- patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);
- patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);
- patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);
- const HTMLMarqueeElement = internalWindow['HTMLMarqueeElement'];
- if (HTMLMarqueeElement) {
- patchFilteredProperties(HTMLMarqueeElement.prototype, marqueeEventNames, ignoreProperties);
- }
- const Worker = internalWindow['Worker'];
- if (Worker) {
- patchFilteredProperties(Worker.prototype, workerEventNames, ignoreProperties);
- }
- }
- const XMLHttpRequest = _global['XMLHttpRequest'];
- if (XMLHttpRequest) {
- // XMLHttpRequest is not available in ServiceWorker, so we need to check here
- patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);
- }
- const XMLHttpRequestEventTarget = _global['XMLHttpRequestEventTarget'];
- if (XMLHttpRequestEventTarget) {
- patchFilteredProperties(XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype, XMLHttpRequestEventNames, ignoreProperties);
- }
- if (typeof IDBIndex !== 'undefined') {
- patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);
- patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);
- patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);
- patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);
- patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);
- patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);
- }
- if (supportsWebSocket) {
- patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);
- }
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-Zone.__load_patch('util', (global, Zone, api) => {
- api.patchOnProperties = patchOnProperties;
- api.patchMethod = patchMethod;
- api.bindArguments = bindArguments;
- api.patchMacroTask = patchMacroTask;
- // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to
- // define which events will not be patched by `Zone.js`.
- // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep
- // the name consistent with angular repo.
- // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for
- // backwards compatibility.
- const SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');
- const SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');
- if (global[SYMBOL_UNPATCHED_EVENTS]) {
- global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];
- }
- if (global[SYMBOL_BLACK_LISTED_EVENTS]) {
- Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =
- global[SYMBOL_BLACK_LISTED_EVENTS];
- }
- api.patchEventPrototype = patchEventPrototype;
- api.patchEventTarget = patchEventTarget;
- api.isIEOrEdge = isIEOrEdge;
- api.ObjectDefineProperty = ObjectDefineProperty;
- api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;
- api.ObjectCreate = ObjectCreate;
- api.ArraySlice = ArraySlice;
- api.patchClass = patchClass;
- api.wrapWithCurrentZone = wrapWithCurrentZone;
- api.filterProperties = filterProperties;
- api.attachOriginToPatched = attachOriginToPatched;
- api._redefineProperty = _redefineProperty;
- api.patchCallbacks = patchCallbacks;
- api.getGlobalObjects = () => ({
- globalSources,
- zoneSymbolEventNames: zoneSymbolEventNames$1,
- eventNames,
- isBrowser,
- isMix,
- isNode,
- TRUE_STR,
- FALSE_STR,
- ZONE_SYMBOL_PREFIX,
- ADD_EVENT_LISTENER_STR,
- REMOVE_EVENT_LISTENER_STR
- });
-});
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-/**
- * @fileoverview
- * @suppress {missingRequire}
- */
-const taskSymbol = zoneSymbol('zoneTask');
-function patchTimer(window, setName, cancelName, nameSuffix) {
- let setNative = null;
- let clearNative = null;
- setName += nameSuffix;
- cancelName += nameSuffix;
- const tasksByHandleId = {};
- function scheduleTask(task) {
- const data = task.data;
- function timer() {
- try {
- task.invoke.apply(this, arguments);
- }
- finally {
- // issue-934, task will be cancelled
- // even it is a periodic task such as
- // setInterval
- if (!(task.data && task.data.isPeriodic)) {
- if (typeof data.handleId === 'number') {
- // in non-nodejs env, we remove timerId
- // from local cache
- delete tasksByHandleId[data.handleId];
- }
- else if (data.handleId) {
- // Node returns complex objects as handleIds
- // we remove task reference from timer object
- data.handleId[taskSymbol] = null;
- }
- }
- }
- }
- data.args[0] = timer;
- data.handleId = setNative.apply(window, data.args);
- return task;
- }
- function clearTask(task) {
- return clearNative(task.data.handleId);
- }
- setNative =
- patchMethod(window, setName, (delegate) => function (self, args) {
- if (typeof args[0] === 'function') {
- const options = {
- isPeriodic: nameSuffix === 'Interval',
- delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :
- undefined,
- args: args
- };
- const task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);
- if (!task) {
- return task;
- }
- // Node.js must additionally support the ref and unref functions.
- const handle = task.data.handleId;
- if (typeof handle === 'number') {
- // for non nodejs env, we save handleId: task
- // mapping in local cache for clearTimeout
- tasksByHandleId[handle] = task;
- }
- else if (handle) {
- // for nodejs env, we save task
- // reference in timerId Object for clearTimeout
- handle[taskSymbol] = task;
- }
- // check whether handle is null, because some polyfill or browser
- // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame
- if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&
- typeof handle.unref === 'function') {
- task.ref = handle.ref.bind(handle);
- task.unref = handle.unref.bind(handle);
- }
- if (typeof handle === 'number' || handle) {
- return handle;
- }
- return task;
- }
- else {
- // cause an error by calling it directly.
- return delegate.apply(window, args);
- }
- });
- clearNative =
- patchMethod(window, cancelName, (delegate) => function (self, args) {
- const id = args[0];
- let task;
- if (typeof id === 'number') {
- // non nodejs env.
- task = tasksByHandleId[id];
- }
- else {
- // nodejs env.
- task = id && id[taskSymbol];
- // other environments.
- if (!task) {
- task = id;
- }
- }
- if (task && typeof task.type === 'string') {
- if (task.state !== 'notScheduled' &&
- (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {
- if (typeof id === 'number') {
- delete tasksByHandleId[id];
- }
- else if (id) {
- id[taskSymbol] = null;
- }
- // Do not cancel already canceled functions
- task.zone.cancelTask(task);
- }
- }
- else {
- // cause an error by calling it directly.
- delegate.apply(window, args);
- }
- });
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-function patchCustomElements(_global, api) {
- const { isBrowser, isMix } = api.getGlobalObjects();
- if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {
- return;
- }
- const callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];
- api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-function eventTargetPatch(_global, api) {
- if (Zone[api.symbol('patchEventTarget')]) {
- // EventTarget is already patched.
- return;
- }
- const { eventNames, zoneSymbolEventNames, TRUE_STR, FALSE_STR, ZONE_SYMBOL_PREFIX } = api.getGlobalObjects();
- // predefine all __zone_symbol__ + eventName + true/false string
- for (let i = 0; i < eventNames.length; i++) {
- const eventName = eventNames[i];
- const falseEventName = eventName + FALSE_STR;
- const trueEventName = eventName + TRUE_STR;
- const symbol = ZONE_SYMBOL_PREFIX + falseEventName;
- const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;
- zoneSymbolEventNames[eventName] = {};
- zoneSymbolEventNames[eventName][FALSE_STR] = symbol;
- zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;
- }
- const EVENT_TARGET = _global['EventTarget'];
- if (!EVENT_TARGET || !EVENT_TARGET.prototype) {
- return;
- }
- api.patchEventTarget(_global, [EVENT_TARGET && EVENT_TARGET.prototype]);
- return true;
-}
-function patchEvent(global, api) {
- api.patchEventPrototype(global, api);
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-/**
- * @fileoverview
- * @suppress {missingRequire}
- */
-Zone.__load_patch('legacy', (global) => {
- const legacyPatch = global[Zone.__symbol__('legacyPatch')];
- if (legacyPatch) {
- legacyPatch();
- }
-});
-Zone.__load_patch('timers', (global) => {
- const set = 'set';
- const clear = 'clear';
- patchTimer(global, set, clear, 'Timeout');
- patchTimer(global, set, clear, 'Interval');
- patchTimer(global, set, clear, 'Immediate');
-});
-Zone.__load_patch('requestAnimationFrame', (global) => {
- patchTimer(global, 'request', 'cancel', 'AnimationFrame');
- patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');
- patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');
-});
-Zone.__load_patch('blocking', (global, Zone) => {
- const blockingMethods = ['alert', 'prompt', 'confirm'];
- for (let i = 0; i < blockingMethods.length; i++) {
- const name = blockingMethods[i];
- patchMethod(global, name, (delegate, symbol, name) => {
- return function (s, args) {
- return Zone.current.run(delegate, global, args, name);
- };
- });
- }
-});
-Zone.__load_patch('EventTarget', (global, Zone, api) => {
- patchEvent(global, api);
- eventTargetPatch(global, api);
- // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener
- const XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];
- if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {
- api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);
- }
- patchClass('MutationObserver');
- patchClass('WebKitMutationObserver');
- patchClass('IntersectionObserver');
- patchClass('FileReader');
-});
-Zone.__load_patch('on_property', (global, Zone, api) => {
- propertyDescriptorPatch(api, global);
- propertyPatch();
-});
-Zone.__load_patch('customElements', (global, Zone, api) => {
- patchCustomElements(global, api);
-});
-Zone.__load_patch('XHR', (global, Zone) => {
- // Treat XMLHttpRequest as a macrotask.
- patchXHR(global);
- const XHR_TASK = zoneSymbol('xhrTask');
- const XHR_SYNC = zoneSymbol('xhrSync');
- const XHR_LISTENER = zoneSymbol('xhrListener');
- const XHR_SCHEDULED = zoneSymbol('xhrScheduled');
- const XHR_URL = zoneSymbol('xhrURL');
- const XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');
- function patchXHR(window) {
- const XMLHttpRequest = window['XMLHttpRequest'];
- if (!XMLHttpRequest) {
- // XMLHttpRequest is not available in service worker
- return;
- }
- const XMLHttpRequestPrototype = XMLHttpRequest.prototype;
- function findPendingTask(target) {
- return target[XHR_TASK];
- }
- let oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];
- let oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];
- if (!oriAddListener) {
- const XMLHttpRequestEventTarget = window['XMLHttpRequestEventTarget'];
- if (XMLHttpRequestEventTarget) {
- const XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget.prototype;
- oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];
- oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];
- }
- }
- const READY_STATE_CHANGE = 'readystatechange';
- const SCHEDULED = 'scheduled';
- function scheduleTask(task) {
- const data = task.data;
- const target = data.target;
- target[XHR_SCHEDULED] = false;
- target[XHR_ERROR_BEFORE_SCHEDULED] = false;
- // remove existing event listener
- const listener = target[XHR_LISTENER];
- if (!oriAddListener) {
- oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];
- oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];
- }
- if (listener) {
- oriRemoveListener.call(target, READY_STATE_CHANGE, listener);
- }
- const newListener = target[XHR_LISTENER] = () => {
- if (target.readyState === target.DONE) {
- // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with
- // readyState=4 multiple times, so we need to check task state here
- if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {
- // check whether the xhr has registered onload listener
- // if that is the case, the task should invoke after all
- // onload listeners finish.
- const loadTasks = target['__zone_symbol__loadfalse'];
- if (loadTasks && loadTasks.length > 0) {
- const oriInvoke = task.invoke;
- task.invoke = function () {
- // need to load the tasks again, because in other
- // load listener, they may remove themselves
- const loadTasks = target['__zone_symbol__loadfalse'];
- for (let i = 0; i < loadTasks.length; i++) {
- if (loadTasks[i] === task) {
- loadTasks.splice(i, 1);
- }
- }
- if (!data.aborted && task.state === SCHEDULED) {
- oriInvoke.call(task);
- }
- };
- loadTasks.push(task);
- }
- else {
- task.invoke();
- }
- }
- else if (!data.aborted && target[XHR_SCHEDULED] === false) {
- // error occurs when xhr.send()
- target[XHR_ERROR_BEFORE_SCHEDULED] = true;
- }
- }
- };
- oriAddListener.call(target, READY_STATE_CHANGE, newListener);
- const storedTask = target[XHR_TASK];
- if (!storedTask) {
- target[XHR_TASK] = task;
- }
- sendNative.apply(target, data.args);
- target[XHR_SCHEDULED] = true;
- return task;
- }
- function placeholderCallback() { }
- function clearTask(task) {
- const data = task.data;
- // Note - ideally, we would call data.target.removeEventListener here, but it's too late
- // to prevent it from firing. So instead, we store info for the event listener.
- data.aborted = true;
- return abortNative.apply(data.target, data.args);
- }
- const openNative = patchMethod(XMLHttpRequestPrototype, 'open', () => function (self, args) {
- self[XHR_SYNC] = args[2] == false;
- self[XHR_URL] = args[1];
- return openNative.apply(self, args);
- });
- const XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';
- const fetchTaskAborting = zoneSymbol('fetchTaskAborting');
- const fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');
- const sendNative = patchMethod(XMLHttpRequestPrototype, 'send', () => function (self, args) {
- if (Zone.current[fetchTaskScheduling] === true) {
- // a fetch is scheduling, so we are using xhr to polyfill fetch
- // and because we already schedule macroTask for fetch, we should
- // not schedule a macroTask for xhr again
- return sendNative.apply(self, args);
- }
- if (self[XHR_SYNC]) {
- // if the XHR is sync there is no task to schedule, just execute the code.
- return sendNative.apply(self, args);
- }
- else {
- const options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };
- const task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);
- if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&
- task.state === SCHEDULED) {
- // xhr request throw error when send
- // we should invoke task instead of leaving a scheduled
- // pending macroTask
- task.invoke();
- }
- }
- });
- const abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', () => function (self, args) {
- const task = findPendingTask(self);
- if (task && typeof task.type == 'string') {
- // If the XHR has already completed, do nothing.
- // If the XHR has already been aborted, do nothing.
- // Fix #569, call abort multiple times before done will cause
- // macroTask task count be negative number
- if (task.cancelFn == null || (task.data && task.data.aborted)) {
- return;
- }
- task.zone.cancelTask(task);
- }
- else if (Zone.current[fetchTaskAborting] === true) {
- // the abort is called from fetch polyfill, we need to call native abort of XHR.
- return abortNative.apply(self, args);
- }
- // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no
- // task
- // to cancel. Do nothing.
- });
- }
-});
-Zone.__load_patch('geolocation', (global) => {
- /// GEO_LOCATION
- if (global['navigator'] && global['navigator'].geolocation) {
- patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);
- }
-});
-Zone.__load_patch('PromiseRejectionEvent', (global, Zone) => {
- // handle unhandled promise rejection
- function findPromiseRejectionHandler(evtName) {
- return function (e) {
- const eventTasks = findEventTasks(global, evtName);
- eventTasks.forEach(eventTask => {
- // windows has added unhandledrejection event listener
- // trigger the event listener
- const PromiseRejectionEvent = global['PromiseRejectionEvent'];
- if (PromiseRejectionEvent) {
- const evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });
- eventTask.invoke(evt);
- }
- });
- };
- }
- if (global['PromiseRejectionEvent']) {
- Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =
- findPromiseRejectionHandler('unhandledrejection');
- Zone[zoneSymbol('rejectionHandledHandler')] =
- findPromiseRejectionHandler('rejectionhandled');
- }
-});
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
-
-/***/ }),
-
-/***/ "./src/polyfills.ts":
-/*!**************************!*\
- !*** ./src/polyfills.ts ***!
- \**************************/
-/*! no exports provided */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js");
-/* harmony import */ var zone_js_dist_zone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! zone.js/dist/zone */ "./node_modules/zone.js/dist/zone-evergreen.js");
-/* harmony import */ var zone_js_dist_zone__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(zone_js_dist_zone__WEBPACK_IMPORTED_MODULE_1__);
-/*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/**
- * This file includes polyfills needed by Angular and is loaded before the app.
- * You can add your own extra polyfills to this file.
- *
- * This file is divided into 2 sections:
- * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
- * 2. Application imports. Files imported after ZoneJS that should be loaded before your main
- * file.
- *
- * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
- * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
- * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
- *
- * Learn more in https://angular.io/guide/browser-support
- */
-/***************************************************************************************************
- * BROWSER POLYFILLS
- */
-/** IE9, IE10 and IE11 requires all of the following polyfills. **/
-// import 'core-js/es6/symbol';
-// import 'core-js/es6/object';
-// import 'core-js/es6/function';
-// import 'core-js/es6/parse-int';
-// import 'core-js/es6/parse-float';
-// import 'core-js/es6/number';
-// import 'core-js/es6/math';
-// import 'core-js/es6/string';
-// import 'core-js/es6/date';
-// import 'core-js/es6/array';
-// import 'core-js/es6/regexp';
-// import 'core-js/es6/map';
-// import 'core-js/es6/weak-map';
-// import 'core-js/es6/set';
-/**
- * If the application will be indexed by Google Search, the following is required.
- * Googlebot uses a renderer based on Chrome 41.
- * https://developers.google.com/search/docs/guides/rendering
- **/
-// import 'core-js/es6/array';
-/** IE10 and IE11 requires the following for NgClass support on SVG elements */
-// import 'classlist.js'; // Run `npm install --save classlist.js`.
-/** IE10 and IE11 requires the following for the Reflect API. */
-// import 'core-js/es6/reflect';
-/**
- * Web Animations `@angular/platform-browser/animations`
- * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.
- * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).
- **/
-// import 'web-animations-js'; // Run `npm install --save web-animations-js`.
-/**
- * By default, zone.js will patch all possible macroTask and DomEvents
- * user can disable parts of macroTask/DomEvents patch by setting following flags
- */
-// (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
-// (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
-// (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
-/*
-* in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
-* with the following flag, it will bypass `zone.js` patch for IE/Edge
-*/
-// (window as any).__Zone_enable_cross_context_check = true;
-/***************************************************************************************************
- * Zone JS is required by default for Angular itself.
- */
- // Included with Angular CLI.
-/***************************************************************************************************
- * APPLICATION IMPORTS
- */
-
-
-/***/ }),
-
-/***/ 2:
-/*!***************************************************************************************************************************!*\
- !*** multi ./src/polyfills.ts ./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js ***!
- \***************************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(/*! C:\Users\Noelia\Desktop\DAA\daaexample\src\main\angular\src\polyfills.ts */"./src/polyfills.ts");
-module.exports = __webpack_require__(/*! C:\Users\Noelia\Desktop\DAA\daaexample\src\main\angular\node_modules\@angular-devkit\build-angular\src\angular-cli-files\models\jit-polyfills.js */"./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js");
-
-
-/***/ })
-
-},[[2,"runtime"]]]);
-//# sourceMappingURL=polyfills-es2015.js.map
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/polyfills-es2015.js.map b/target/m2e-wtp/web-resources/polyfills-es2015.js.map
deleted file mode 100644
index 253988edc38edeedc72cb4f6d838d2d4e713b145..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/polyfills-es2015.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-function.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-possible-prototype.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-instance.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-includes.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-iteration.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-species-create.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/call-with-safe-iteration-closing.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/check-correctness-of-iteration.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-strong.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-weak.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/copy-constructor-properties.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-prototype-getter.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-iterator-constructor.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property-descriptor.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-iterator.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/document-create-element.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/enum-bug-keys.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/freezing.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind-context.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-iterator-method.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/hidden-keys.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/html.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/ie8-dom-define.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/indexed-object.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inherit-if-required.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inspect-source.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array-iterator-method.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-forced.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-pure.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterate.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators-core.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-symbol.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-weak-map.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-create.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-properties.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-symbols.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys-internal.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-property-is-enumerable.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-set-prototype-of.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/own-keys.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/path.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine-all.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-global.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-species.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-to-string-tag.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-key.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-store.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-absolute-index.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-integer.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-primitive.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-string-tag-support.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/uid.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/use-symbol-as-uid.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.map.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.set.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.weak-map.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.define-metadata.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.delete-metadata.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-metadata.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.metadata.js","./node_modules/@angular-devkit/build-angular/node_modules/core-js/proposals/reflect-metadata.js","./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js","./node_modules/tslib/tslib.es6.js","./node_modules/zone.js/dist/zone-evergreen.js","./src/polyfills.ts"],"names":[],"mappings":"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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,kCAAkC;AAClC,oCAAoC;AACpC,cAAc;AACd,KAAK;;AAEL;AACA;AACA;AACA;;;;;;;;;;;;;ACzLa;AACb,kBAAkB,mBAAO,CAAC,8HAA2B;AACrD,kBAAkB,mBAAO,CAAC,wIAAgC;AAC1D,eAAe,mBAAO,CAAC,wHAAwB;AAC/C,eAAe,mBAAO,CAAC,wHAAwB;AAC/C,iBAAiB,mBAAO,CAAC,4HAA0B;AACnD,cAAc,mBAAO,CAAC,oHAAsB;AAC5C,2BAA2B,mBAAO,CAAC,oIAA8B;AACjE,WAAW,mBAAO,CAAC,4GAAkB;AACrC,0BAA0B,mBAAO,CAAC,kIAA6B;;AAE/D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;;;;;;;;;;;;ACxHa;AACb,QAAQ,mBAAO,CAAC,kHAAqB;AACrC,aAAa,mBAAO,CAAC,kHAAqB;AAC1C,eAAe,mBAAO,CAAC,wHAAwB;AAC/C,eAAe,mBAAO,CAAC,sHAAuB;AAC9C,6BAA6B,mBAAO,CAAC,wIAAgC;AACrE,cAAc,mBAAO,CAAC,oHAAsB;AAC5C,iBAAiB,mBAAO,CAAC,4HAA0B;AACnD,eAAe,mBAAO,CAAC,wHAAwB;AAC/C,YAAY,mBAAO,CAAC,gHAAoB;AACxC,kCAAkC,mBAAO,CAAC,kKAA6C;AACvF,qBAAqB,mBAAO,CAAC,wIAAgC;AAC7D,wBAAwB,mBAAO,CAAC,4IAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,qDAAqD;AACrD;AACA,kDAAkD,iBAAiB,EAAE;AACrE;AACA;AACA,4EAA4E,iCAAiC,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK,yDAAyD;;AAE9D;;AAEA;;AAEA;AACA;;;;;;;;;;;;AClGA,UAAU,mBAAO,CAAC,4GAAkB;AACpC,cAAc,mBAAO,CAAC,sHAAuB;AAC7C,qCAAqC,mBAAO,CAAC,0KAAiD;AAC9F,2BAA2B,mBAAO,CAAC,kJAAqC;;AAExE;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;;;;;;;;;;;ACbA,YAAY,mBAAO,CAAC,gHAAoB;;AAExC;AACA,gBAAgB;AAChB;AACA;AACA,CAAC;;;;;;;;;;;;;ACNY;AACb,wBAAwB,mBAAO,CAAC,kIAA6B;AAC7D,aAAa,mBAAO,CAAC,gIAA4B;AACjD,+BAA+B,mBAAO,CAAC,0JAAyC;AAChF,qBAAqB,mBAAO,CAAC,wIAAgC;AAC7D,gBAAgB,mBAAO,CAAC,wHAAwB;;AAEhD,8BAA8B,aAAa;;AAE3C;AACA;AACA,6DAA6D,0CAA0C;AACvG;AACA;AACA;AACA;;;;;;;;;;;;ACfA,kBAAkB,mBAAO,CAAC,4HAA0B;AACpD,2BAA2B,mBAAO,CAAC,kJAAqC;AACxE,+BAA+B,mBAAO,CAAC,0JAAyC;;AAEhF;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACPa;AACb,QAAQ,mBAAO,CAAC,kHAAqB;AACrC,gCAAgC,mBAAO,CAAC,4JAA0C;AAClF,qBAAqB,mBAAO,CAAC,oJAAsC;AACnE,qBAAqB,mBAAO,CAAC,oJAAsC;AACnE,qBAAqB,mBAAO,CAAC,wIAAgC;AAC7D,kCAAkC,mBAAO,CAAC,kKAA6C;AACvF,eAAe,mBAAO,CAAC,sHAAuB;AAC9C,sBAAsB,mBAAO,CAAC,wIAAgC;AAC9D,cAAc,mBAAO,CAAC,oHAAsB;AAC5C,gBAAgB,mBAAO,CAAC,wHAAwB;AAChD,oBAAoB,mBAAO,CAAC,kIAA6B;;AAEzD;AACA;AACA;AACA;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC,4CAA4C;AACrF,6CAA6C,4CAA4C;AACzF,+CAA+C,4CAA4C;AAC3F,KAAK,qBAAqB,sCAAsC;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,mBAAmB;AACnC;AACA;AACA,yCAAyC,kCAAkC;AAC3E;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS,qFAAqF;AACnG;;AAEA;AACA;;;;;;;;;;;;ACzFA,YAAY,mBAAO,CAAC,gHAAoB;;AAExC;AACA;AACA,iCAAiC,MAAM,mBAAmB,UAAU,EAAE,EAAE;AACxE,CAAC;;;;;;;;;;;;ACLD,aAAa,mBAAO,CAAC,kHAAqB;AAC1C,eAAe,mBAAO,CAAC,wHAAwB;;AAE/C;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACTA,aAAa,mBAAO,CAAC,kHAAqB;AAC1C,+BAA+B,mBAAO,CAAC,0KAAiD;AACxF,kCAAkC,mBAAO,CAAC,kKAA6C;AACvF,eAAe,mBAAO,CAAC,sHAAuB;AAC9C,gBAAgB,mBAAO,CAAC,0HAAyB;AACjD,gCAAgC,mBAAO,CAAC,4JAA0C;AAClF,eAAe,mBAAO,CAAC,wHAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mDAAmD;AACnD,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;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;;;;;ACzLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,UAAU,6CAA6C,eAAe;AACxI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,0BAA0B;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,UAAU,IAAI,YAAY,4BAA4B,QAAQ,sBAAsB,WAAW,GAAG,+CAA+C,SAAS,YAAY;AACzM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4HAA4H,wBAAwB,oCAAoC;AACxL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAAgF,sEAAsE;AACtJ;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,oDAAoD;AAC5F;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,uEAAuE,gBAAgB;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,EAAE;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,0BAA0B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,8BAA8B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,0BAA0B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,0BAA0B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,iBAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,wBAAwB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,wBAAwB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,WAAW,GAAG,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,0BAA0B,EAAE;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,KAAK,qBAAqB,SAAS,eAAe,IAAI,8BAA8B,MAAM;AAClJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,sDAAsD;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,4EAA4E;AACvF;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,sBAAsB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,0CAA0C;AAC9G;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC5+FA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;GAiBG;;AAEH;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AAEH,mEAAmE;AACnE,+BAA+B;AAC/B,+BAA+B;AAC/B,iCAAiC;AACjC,kCAAkC;AAClC,oCAAoC;AACpC,+BAA+B;AAC/B,6BAA6B;AAC7B,+BAA+B;AAC/B,6BAA6B;AAC7B,8BAA8B;AAC9B,+BAA+B;AAC/B,4BAA4B;AAC5B,iCAAiC;AACjC,4BAA4B;AAE5B;;;;IAII;AACJ,8BAA8B;AAE9B,+EAA+E;AAC/E,oEAAoE;AAEpE,gEAAgE;AAChE,gCAAgC;AAEhC;;;;IAII;AACJ,8EAA8E;AAE9E;;;GAGG;AAEF,sGAAsG;AACtG,iGAAiG;AACjG,sHAAsH;AAEtH;;;EAGE;AACH,4DAA4D;AAE5D;;GAEG;AACwB,CAAE,6BAA6B;AAG1D;;GAEG","file":"polyfills-es2015.js","sourcesContent":["module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar redefineAll = require('../internals/redefine-all');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar $has = require('../internals/has');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) this.entries.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && $has(data, state.id) && delete data[state.id];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && $has(data, state.id);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return C;\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nvar Map = require('../modules/es.map');\nvar WeakMap = require('../modules/es.weak-map');\nvar shared = require('../internals/shared');\n\nvar metadata = shared('metadata');\nvar store = metadata.store || (metadata.store = new WeakMap());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\n\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\n\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\n\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\n\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n return keys;\n};\n\nvar toMetadataKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\n\nmodule.exports = {\n store: store,\n getMap: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n toKey: toMetadataKey\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.4',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.github.io/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.github.io/ecma262/#sec-set-objects\nmodule.exports = collection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar global = require('../internals/global');\nvar redefineAll = require('../internals/redefine-all');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\nvar isObject = require('../internals/is-object');\nvar enforceIternalState = require('../internals/internal-state').enforce;\nvar NATIVE_WEAK_MAP = require('../internals/native-weak-map');\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\n\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\n\n// `WeakMap` constructor\n// https://tc39.github.io/ecma262/#sec-weakmap-constructor\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\n\n// IE11 WeakMap frozen keys fix\n// We can't use feature detection because it crash some old IE builds\n// https://github.com/zloirock/core-js/issues/485\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.REQUIRED = true;\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = WeakMapPrototype['delete'];\n var nativeHas = WeakMapPrototype.has;\n var nativeGet = WeakMapPrototype.get;\n var nativeSet = WeakMapPrototype.set;\n redefineAll(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\n } return nativeDelete.call(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\n } return nativeHas.call(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n } return nativeGet.call(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n","var $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\n\nvar toMetadataKey = ReflectMetadataModule.toKey;\nvar ordinaryDefineOwnMetadata = ReflectMetadataModule.set;\n\n// `Reflect.defineMetadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n defineMetadata: function defineMetadata(metadataKey, metadataValue, target /* , targetKey */) {\n var targetKey = arguments.length < 4 ? undefined : toMetadataKey(arguments[3]);\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), targetKey);\n }\n});\n","var $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\n\nvar toMetadataKey = ReflectMetadataModule.toKey;\nvar getOrCreateMetadataMap = ReflectMetadataModule.getMap;\nvar store = ReflectMetadataModule.store;\n\n// `Reflect.deleteMetadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);\n var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n if (metadataMap.size) return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n }\n});\n","var $ = require('../internals/export');\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nvar Set = require('../modules/es.set');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar iterate = require('../internals/iterate');\n\nvar ordinaryOwnMetadataKeys = ReflectMetadataModule.keys;\nvar toMetadataKey = ReflectMetadataModule.toKey;\n\nvar from = function (iter) {\n var result = [];\n iterate(iter, result.push, result);\n return result;\n};\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var parent = getPrototypeOf(O);\n if (parent === null) return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\n// `Reflect.getMetadataKeys` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n var targetKey = arguments.length < 2 ? undefined : toMetadataKey(arguments[1]);\n return ordinaryMetadataKeys(anObject(target), targetKey);\n }\n});\n","var $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\n\nvar ordinaryHasOwnMetadata = ReflectMetadataModule.has;\nvar ordinaryGetOwnMetadata = ReflectMetadataModule.get;\nvar toMetadataKey = ReflectMetadataModule.toKey;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\n// `Reflect.getMetadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);\n return ordinaryGetMetadata(metadataKey, anObject(target), targetKey);\n }\n});\n","var $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\n\nvar ordinaryOwnMetadataKeys = ReflectMetadataModule.keys;\nvar toMetadataKey = ReflectMetadataModule.toKey;\n\n// `Reflect.getOwnMetadataKeys` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n var targetKey = arguments.length < 2 ? undefined : toMetadataKey(arguments[1]);\n return ordinaryOwnMetadataKeys(anObject(target), targetKey);\n }\n});\n","var $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\n\nvar ordinaryGetOwnMetadata = ReflectMetadataModule.get;\nvar toMetadataKey = ReflectMetadataModule.toKey;\n\n// `Reflect.getOwnMetadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);\n return ordinaryGetOwnMetadata(metadataKey, anObject(target), targetKey);\n }\n});\n","var $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\n\nvar ordinaryHasOwnMetadata = ReflectMetadataModule.has;\nvar toMetadataKey = ReflectMetadataModule.toKey;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\n// `Reflect.hasMetadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);\n return ordinaryHasMetadata(metadataKey, anObject(target), targetKey);\n }\n});\n","var $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\n\nvar ordinaryHasOwnMetadata = ReflectMetadataModule.has;\nvar toMetadataKey = ReflectMetadataModule.toKey;\n\n// `Reflect.hasOwnMetadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);\n return ordinaryHasOwnMetadata(metadataKey, anObject(target), targetKey);\n }\n});\n","var $ = require('../internals/export');\nvar ReflectMetadataModule = require('../internals/reflect-metadata');\nvar anObject = require('../internals/an-object');\n\nvar toMetadataKey = ReflectMetadataModule.toKey;\nvar ordinaryDefineOwnMetadata = ReflectMetadataModule.set;\n\n// `Reflect.metadata` method\n// https://github.com/rbuckton/reflect-metadata\n$({ target: 'Reflect', stat: true }, {\n metadata: function metadata(metadataKey, metadataValue) {\n return function decorator(target, key) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetadataKey(key));\n };\n }\n});\n","require('../modules/esnext.reflect.define-metadata');\nrequire('../modules/esnext.reflect.delete-metadata');\nrequire('../modules/esnext.reflect.get-metadata');\nrequire('../modules/esnext.reflect.get-metadata-keys');\nrequire('../modules/esnext.reflect.get-own-metadata');\nrequire('../modules/esnext.reflect.get-own-metadata-keys');\nrequire('../modules/esnext.reflect.has-metadata');\nrequire('../modules/esnext.reflect.has-own-metadata');\nrequire('../modules/esnext.reflect.metadata');\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport 'core-js/proposals/reflect-metadata';\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/**\n* @license\n* Copyright Google Inc. All Rights Reserved.\n*\n* Use of this source code is governed by an MIT-style license that can be\n* found in the LICENSE file at https://angular.io/license\n*/\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst Zone$1 = (function (global) {\n const performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n const checkDuplicate = global[('__zone_symbol__forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n class Zone {\n constructor(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n static assertZonePatched() {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n }\n static get root() {\n let zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n }\n static get current() {\n return _currentZoneFrame.zone;\n }\n static get currentTask() {\n return _currentTask;\n }\n static __load_patch(name, fn) {\n if (patches.hasOwnProperty(name)) {\n if (checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n const perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n }\n get parent() {\n return this._parent;\n }\n get name() {\n return this._name;\n }\n get(key) {\n const zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n }\n getZoneWith(key) {\n let current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n }\n fork(zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n }\n wrap(callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n const _callback = this._zoneDelegate.intercept(this, callback, source);\n const zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n }\n run(callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runGuarded(callback, applyThis = null, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n }\n runTask(task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n const reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n const previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n }\n scheduleTask(task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n let newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${task.zone.name}`);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n const zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n }\n scheduleMicroTask(source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n }\n scheduleMacroTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n }\n scheduleEventTask(source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n }\n cancelTask(task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n }\n _updateTaskCount(task, count) {\n const zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (let i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n }\n }\n Zone.__symbol__ = __symbol__;\n const DELEGATE_ZS = {\n name: '',\n onHasTask: (delegate, _, target, hasTaskState) => delegate.hasTask(target, hasTaskState),\n onScheduleTask: (delegate, _, target, task) => delegate.scheduleTask(target, task),\n onInvokeTask: (delegate, _, target, task, applyThis, applyArgs) => delegate.invokeTask(target, task, applyThis, applyArgs),\n onCancelTask: (delegate, _, target, task) => delegate.cancelTask(target, task)\n };\n class ZoneDelegate {\n constructor(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate.zone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate.zone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate.zone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate.zone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate.zone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate.zone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate.zone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n const zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n const parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n fork(targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n }\n intercept(targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n }\n invoke(targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n }\n handleError(targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n }\n scheduleTask(targetZone, task) {\n let returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n }\n invokeTask(targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n }\n cancelTask(targetZone, task) {\n let value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n }\n hasTask(targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n }\n _updateTaskCount(type, count) {\n const counts = this._taskCounts;\n const prev = counts[type];\n const next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n const isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n }\n }\n class ZoneTask {\n constructor(type, source, callback, options, scheduleFn, cancelFn) {\n this._zone = null;\n this.runCount = 0;\n this._zoneDelegates = null;\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n this.callback = callback;\n const self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n static invokeTask(task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n }\n get zone() {\n return this._zone;\n }\n get state() {\n return this._state;\n }\n cancelScheduleRequest() {\n this._transitionTo(notScheduled, scheduling);\n }\n _transitionTo(toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(`${this.type} '${this.source}': can not transition to '${toState}', expecting state '${fromState1}'${fromState2 ? ' or \\'' + fromState2 + '\\'' : ''}, was '${this._state}'.`);\n }\n }\n toString() {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n }\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n toJSON() {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const symbolSetTimeout = __symbol__('setTimeout');\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n let _microTaskQueue = [];\n let _isDrainingMicrotaskQueue = false;\n let nativeMicroTaskQueuePromise;\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n let nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n const queue = _microTaskQueue;\n _microTaskQueue = [];\n for (let i = 0; i < queue.length; i++) {\n const task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n const NO_ZONE = { name: 'NO ZONE' };\n const notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n const microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n const patches = {};\n const _api = {\n symbol: __symbol__,\n currentZoneFrame: () => _currentZoneFrame,\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: () => !Zone[__symbol__('ignoreConsoleErrorUncaughtError')],\n patchEventTarget: () => [],\n patchOnProperties: noop,\n patchMethod: () => noop,\n bindArguments: () => [],\n patchThen: () => noop,\n patchMacroTask: () => noop,\n setNativePromise: (NativePromise) => {\n // sometimes NativePromise.resolve static function\n // is not ready yet, (such as core-js/es6.promise)\n // so we need to check here.\n if (NativePromise && typeof NativePromise.resolve === 'function') {\n nativeMicroTaskQueuePromise = NativePromise.resolve(0);\n }\n },\n patchEventPrototype: () => noop,\n isIEOrEdge: () => false,\n getGlobalObjects: () => undefined,\n ObjectDefineProperty: () => noop,\n ObjectGetOwnPropertyDescriptor: () => undefined,\n ObjectCreate: () => undefined,\n ArraySlice: () => [],\n patchClass: () => noop,\n wrapWithCurrentZone: () => noop,\n filterProperties: () => [],\n attachOriginToPatched: () => noop,\n _redefineProperty: () => noop,\n patchCallbacks: () => noop\n };\n let _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n let _currentTask = null;\n let _numberOfNestedTaskFrames = 0;\n function noop() { }\n function __symbol__(name) {\n return '__zone_symbol__' + name;\n }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('ZoneAwarePromise', (global, Zone, api) => {\n const ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n const ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n const className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n const __symbol__ = api.symbol;\n const _uncaughtPromiseErrors = [];\n const symbolPromise = __symbol__('Promise');\n const symbolThen = __symbol__('then');\n const creationTrace = '__creationTrace__';\n api.onUnhandledError = (e) => {\n if (api.showUncaughtError()) {\n const rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = () => {\n while (_uncaughtPromiseErrors.length) {\n while (_uncaughtPromiseErrors.length) {\n const uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(() => {\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n }\n }\n };\n const UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n const handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (handler && typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n const symbolState = __symbol__('state');\n const symbolValue = __symbol__('value');\n const symbolFinally = __symbol__('finally');\n const symbolParentPromiseValue = __symbol__('parentPromiseValue');\n const symbolParentPromiseState = __symbol__('parentPromiseState');\n const source = 'Promise.then';\n const UNRESOLVED = null;\n const RESOLVED = true;\n const REJECTED = false;\n const REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return (v) => {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n const once = function () {\n let wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n const TYPE_ERROR = 'Promise resolved with itself';\n const CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n const onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n let then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(() => {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n const queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n const trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (let i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n try {\n // try to print more readable error log\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n const error = err;\n error.rejection = value;\n error.promise = promise;\n error.zone = Zone.current;\n error.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(error);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n const REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n const handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (let i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n const promiseState = promise[symbolState];\n const delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, () => {\n try {\n const parentPromiseValue = promise[symbolValue];\n const isFinallyPromise = chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n const value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n const ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n class ZoneAwarePromise {\n constructor(executor) {\n const promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n static toString() {\n return ZONE_AWARE_PROMISE_TO_STRING;\n }\n static resolve(value) {\n return resolvePromise(new this(null), RESOLVED, value);\n }\n static reject(error) {\n return resolvePromise(new this(null), REJECTED, error);\n }\n static race(values) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n resolve(value);\n }\n function onReject(error) {\n reject(error);\n }\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n }\n static all(values) {\n let resolve;\n let reject;\n let promise = new this((res, rej) => {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n let unresolvedCount = 2;\n let valueIndex = 0;\n const resolvedValues = [];\n for (let value of values) {\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n const curValueIndex = valueIndex;\n value.then((value) => {\n resolvedValues[curValueIndex] = value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, reject);\n unresolvedCount++;\n valueIndex++;\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n }\n get [Symbol.toStringTag]() {\n return 'Promise';\n }\n then(onFulfilled, onRejected) {\n const chainPromise = new this.constructor(null);\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n }\n catch(onRejected) {\n return this.then(null, onRejected);\n }\n finally(onFinally) {\n const chainPromise = new this.constructor(null);\n chainPromise[symbolFinally] = symbolFinally;\n const zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n }\n }\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n const NativePromise = global[symbolPromise] = global['Promise'];\n const ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');\n let desc = ObjectGetOwnPropertyDescriptor(global, 'Promise');\n if (!desc || desc.configurable) {\n desc && delete desc.writable;\n desc && delete desc.value;\n if (!desc) {\n desc = { configurable: true, enumerable: true };\n }\n desc.get = function () {\n // if we already set ZoneAwarePromise, use patched one\n // otherwise return native one.\n return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];\n };\n desc.set = function (NewNativePromise) {\n if (NewNativePromise === ZoneAwarePromise) {\n // if the NewNativePromise is ZoneAwarePromise\n // save to global\n global[ZONE_AWARE_PROMISE] = NewNativePromise;\n }\n else {\n // if the NewNativePromise is not ZoneAwarePromise\n // for example: after load zone.js, some library just\n // set es6-promise to global, if we set it to global\n // directly, assertZonePatched will fail and angular\n // will not loaded, so we just set the NewNativePromise\n // to global[symbolPromise], so the result is just like\n // we load ES6 Promise before zone.js\n global[symbolPromise] = NewNativePromise;\n if (!NewNativePromise.prototype[symbolThen]) {\n patchThen(NewNativePromise);\n }\n api.setNativePromise(NewNativePromise);\n }\n };\n ObjectDefineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n const symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n const proto = Ctor.prototype;\n const prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n const originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n const wrapped = new ZoneAwarePromise((resolve, reject) => {\n originalThen.call(this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n function zoneify(fn) {\n return function () {\n let resultPromise = fn.apply(this, arguments);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n let ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n const fetch = global['fetch'];\n if (typeof fetch == 'function') {\n global[api.symbol('fetch')] = fetch;\n global['fetch'] = zoneify(fetch);\n }\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n// issue #989, to reduce bundle size, use short name\n/** Object.getOwnPropertyDescriptor */\nconst ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nconst ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nconst ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nconst ObjectCreate = Object.create;\n/** Array.prototype.slice */\nconst ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nconst ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nconst REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nconst ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nconst ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nconst TRUE_STR = 'true';\n/** false string const */\nconst FALSE_STR = 'false';\n/** __zone_symbol__ string const */\nconst ZONE_SYMBOL_PREFIX = '__zone_symbol__';\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nconst zoneSymbol = Zone.__symbol__;\nconst isWindowExists = typeof window !== 'undefined';\nconst internalWindow = isWindowExists ? window : undefined;\nconst _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\nconst REMOVE_ATTRIBUTE = 'removeAttribute';\nconst NULL_ON_PROP_VALUE = [null];\nfunction bindArguments(args, source) {\n for (let i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n const source = prototype.constructor['name'];\n for (let i = 0; i < fnNames.length; i++) {\n const name = fnNames[i];\n const delegate = prototype[name];\n if (delegate) {\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name);\n if (!isPropertyWritable(prototypeDesc)) {\n continue;\n }\n prototype[name] = ((delegate) => {\n const patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\nconst isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nconst isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\nconst isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nconst isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\nconst zoneSymbolEventNames = {};\nconst wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n let eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n const target = this || event.target || _global;\n const listener = target[eventNameSymbol];\n let result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signiture\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n const errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n let desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n const prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n const onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n const originalDescGet = desc.get;\n const originalDescSet = desc.set;\n // substr(2) cuz 'onclick' -> 'click', etc\n const eventName = prop.substr(2);\n let eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n let previousValue = target[eventNameSymbol];\n if (previousValue) {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n if (originalDescSet) {\n originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n }\n if (typeof newValue === 'function') {\n target[eventNameSymbol] = newValue;\n target.addEventListener(eventName, wrapFn, false);\n }\n else {\n target[eventNameSymbol] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n let target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n const listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as OK \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n let value = originalDescGet && originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (let i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n const onProperties = [];\n for (const prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (let j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nconst originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n const OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n const a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n const instance = new OriginalClass(function () { });\n let prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction copySymbolProperties(src, dest) {\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return;\n }\n const symbols = Object.getOwnPropertySymbols(src);\n symbols.forEach((symbol) => {\n const desc = Object.getOwnPropertyDescriptor(src, symbol);\n Object.defineProperty(dest, symbol, {\n get: function () {\n return src[symbol];\n },\n set: function (value) {\n if (desc && (!desc.writable || typeof desc.set !== 'function')) {\n // if src[symbol] is not writable or not have a setter, just return\n return;\n }\n src[symbol] = value;\n },\n enumerable: desc ? desc.enumerable : true,\n configurable: desc ? desc.configurable : true\n });\n });\n}\nlet shouldCopySymbolProperties = false;\n\nfunction patchMethod(target, name, patchFn) {\n let proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n const delegateName = zoneSymbol(name);\n let delegate = null;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n const desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n const patchDelegate = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n if (shouldCopySymbolProperties) {\n copySymbolProperties(delegate, proto[name]);\n }\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n let setNative = null;\n function scheduleTask(task) {\n const data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, (delegate) => function (self, args) {\n const meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n });\n}\n\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nlet isDetectedIEOrEdge = false;\nlet ieOrEdge = false;\nfunction isIE() {\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n}\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n const ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n }\n catch (error) {\n }\n return ieOrEdge;\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// override Function.prototype.toString to make zone.js patched function\n// look like native function\nZone.__load_patch('toString', (global) => {\n // patch Func.prototype.toString to let them look like native\n const originalFunctionToString = Function.prototype.toString;\n const ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n const PROMISE_SYMBOL = zoneSymbol('Promise');\n const ERROR_SYMBOL = zoneSymbol('Error');\n const newFunctionToString = function toString() {\n if (typeof this === 'function') {\n const originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n const nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n const nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n const originalObjectToString = Object.prototype.toString;\n const PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.call(this);\n };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nlet passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n const options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n }\n });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\n// an identifier to tell ZoneTask do not create a new invoke closure\nconst OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n};\nconst zoneSymbolEventNames$1 = {};\nconst globalSources = {};\nconst EVENT_NAME_SYMBOL_REGX = /^__zone_symbol__(\\w+)(true|false)$/;\nconst IMMEDIATE_PROPAGATION_SYMBOL = ('__zone_symbol__propagationStopped');\nfunction patchEventTarget(_global, apis, patchOptions) {\n const ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n const REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n const LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n const REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n const zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n const ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n const PREPEND_EVENT_LISTENER = 'prependListener';\n const PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n const invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n const delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = (event) => delegate.handleEvent(event);\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n task.invoke(task, target, [event]);\n const options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n const delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate, options);\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = false\n const globalZoneAwareCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n const target = this || event.target || _global;\n const tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n const copyTasks = tasks.slice();\n for (let i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n const globalZoneAwareCaptureCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n const target = this || event.target || _global;\n const tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n const copyTasks = tasks.slice();\n for (let i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n let useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n const validateHandler = patchOptions && patchOptions.vh;\n let checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n let returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n let proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n const eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n const taskData = {};\n const nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n const nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n const nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n const nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n let nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n function checkIsPassive(task) {\n if (!passiveSupported && typeof taskData.options !== 'boolean' &&\n typeof taskData.options !== 'undefined' && taskData.options !== null) {\n // options is a non-null non-undefined object\n // passive is not supported\n // don't pass options as object\n // just pass capture as a boolean\n task.options = !!taskData.options.capture;\n taskData.options = task.options;\n }\n }\n const customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n const customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n const symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n const customScheduleNonGlobal = function (task) {\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n const customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n const customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n const customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n const compareTaskCallbackVsDelegate = function (task, delegate) {\n const typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n const compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n const blackListedEvents = Zone[Zone.__symbol__('BLACK_LISTED_EVENTS')];\n const makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget = false, prepend = false) {\n return function () {\n const target = this || _global;\n const eventName = arguments[0];\n let delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n let isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n const options = arguments[2];\n if (blackListedEvents) {\n // check black list\n for (let i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n let capture;\n let once = false;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n once = options ? !!options.once : false;\n }\n const zone = Zone.current;\n const symbolEventNames = zoneSymbolEventNames$1[eventName];\n let symbolEventName;\n if (!symbolEventNames) {\n // the code is duplicate, but I just want to get some better performance\n const falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n const trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n symbolEventName = capture ? symbolCapture : symbol;\n }\n else {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n let existingTasks = target[symbolEventName];\n let isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (let i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n let source;\n const constructorName = target.constructor['name'];\n const targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n const data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n const task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n const target = this || _global;\n const eventName = arguments[0];\n const options = arguments[2];\n let capture;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n }\n const delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n const symbolEventNames = zoneSymbolEventNames$1[eventName];\n let symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n const existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (let i = 0; i < existingTasks.length; i++) {\n const existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n const eventName = arguments[0];\n const listeners = [];\n const tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (let i = 0; i < tasks.length; i++) {\n const task = tasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n const target = this || _global;\n const eventName = arguments[0];\n if (!eventName) {\n const keys = Object.keys(target);\n for (let i = 0; i < keys.length; i++) {\n const prop = keys[i];\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n const symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (symbolEventNames) {\n const symbolEventName = symbolEventNames[FALSE_STR];\n const symbolCaptureEventName = symbolEventNames[TRUE_STR];\n const tasks = target[symbolEventName];\n const captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n const removeTasks = tasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n const removeTasks = captureTasks.slice();\n for (let i = 0; i < removeTasks.length; i++) {\n const task = removeTasks[i];\n let delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n let results = [];\n for (let i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n const foundTasks = [];\n for (let prop in target) {\n const match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n let evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n const tasks = target[prop];\n if (tasks) {\n for (let i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n}\nfunction patchEventPrototype(global, api) {\n const Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', (delegate) => function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n });\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCallbacks(api, target, targetName, method, callbacks) {\n const symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n const nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n const source = `${targetName}.${method}::` + callback;\n const prototype = opts.prototype;\n if (prototype.hasOwnProperty(callback)) {\n const descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\nconst zoneSymbol$1 = Zone.__symbol__;\nconst _defineProperty = Object[zoneSymbol$1('defineProperty')] = Object.defineProperty;\nconst _getOwnPropertyDescriptor = Object[zoneSymbol$1('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\nconst _create = Object.create;\nconst unconfigurablesKey = zoneSymbol$1('unconfigurables');\nfunction propertyPatch() {\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n const originalConfigurableFlag = desc.configurable;\n if (prop !== 'prototype') {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) {\n Object.defineProperty(obj, prop, props[prop]);\n });\n return obj;\n };\n Object.create = function (obj, proto) {\n if (typeof proto === 'object' && !Object.isFrozen(proto)) {\n Object.keys(proto).forEach(function (prop) {\n proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n });\n }\n return _create(obj, proto);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n const desc = _getOwnPropertyDescriptor(obj, prop);\n if (desc && isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n}\nfunction _redefineProperty(obj, prop, desc) {\n const originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n}\nfunction isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n}\nfunction rewriteDescriptor(obj, prop, desc) {\n // issue-927, if the desc is frozen, don't try to change the desc\n if (!Object.isFrozen(desc)) {\n desc.configurable = true;\n }\n if (!desc.configurable) {\n // issue-927, if the obj is frozen, don't try to set the desc to obj\n if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n if (obj[unconfigurablesKey]) {\n obj[unconfigurablesKey][prop] = true;\n }\n }\n return desc;\n}\nfunction _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n // retry with the original flag value\n if (typeof originalConfigurableFlag == 'undefined') {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n let descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (error) {\n descJson = desc.toString();\n }\n console.log(`Attempting to configure '${prop}' with descriptor '${descJson}' on object '${obj}' and got error, giving up: ${error}`);\n }\n }\n else {\n throw error;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {globalThis}\n */\nconst globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n];\nconst documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n];\nconst windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplyconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n];\nconst htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n];\nconst mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\nconst ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n];\nconst webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\nconst formEventNames = ['autocomplete', 'autocompleteerror'];\nconst detailEventNames = ['toggle'];\nconst frameEventNames = ['load'];\nconst frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\nconst marqueeEventNames = ['bounce', 'finish', 'start'];\nconst XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n];\nconst IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\nconst websocketEventNames = ['close', 'error', 'open', 'message'];\nconst workerEventNames = ['error', 'message'];\nconst eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n const tip = ignoreProperties.filter(ip => ip.target === target);\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n const targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(op => targetIgnoreProperties.indexOf(op) === -1);\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n const filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n const supportsWebSocket = typeof WebSocket !== 'undefined';\n const ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n const internalWindow = window;\n const ignoreErrorProperties = isIE ? [{ target: internalWindow, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof internalWindow['SVGElement'] !== 'undefined') {\n patchFilteredProperties(internalWindow['SVGElement'].prototype, eventNames, ignoreProperties);\n }\n patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n const HTMLMarqueeElement = internalWindow['HTMLMarqueeElement'];\n if (HTMLMarqueeElement) {\n patchFilteredProperties(HTMLMarqueeElement.prototype, marqueeEventNames, ignoreProperties);\n }\n const Worker = internalWindow['Worker'];\n if (Worker) {\n patchFilteredProperties(Worker.prototype, workerEventNames, ignoreProperties);\n }\n }\n const XMLHttpRequest = _global['XMLHttpRequest'];\n if (XMLHttpRequest) {\n // XMLHttpRequest is not available in ServiceWorker, so we need to check here\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n const XMLHttpRequestEventTarget = _global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n patchFilteredProperties(XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n if (typeof IDBIndex !== 'undefined') {\n patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n }\n if (supportsWebSocket) {\n patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('util', (global, Zone, api) => {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to\n // define which events will not be patched by `Zone.js`.\n // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep\n // the name consistent with angular repo.\n // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for\n // backwards compatibility.\n const SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n const SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =\n global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = _redefineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = () => ({\n globalSources,\n zoneSymbolEventNames: zoneSymbolEventNames$1,\n eventNames,\n isBrowser,\n isMix,\n isNode,\n TRUE_STR,\n FALSE_STR,\n ZONE_SYMBOL_PREFIX,\n ADD_EVENT_LISTENER_STR,\n REMOVE_EVENT_LISTENER_STR\n });\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nconst taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n let setNative = null;\n let clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n const tasksByHandleId = {};\n function scheduleTask(task) {\n const data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n if (!(task.data && task.data.isPeriodic)) {\n if (typeof data.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[data.handleId];\n }\n else if (data.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n data.handleId[taskSymbol] = null;\n }\n }\n }\n }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative(task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, (delegate) => function (self, args) {\n if (typeof args[0] === 'function') {\n const options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n const task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n const handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n });\n clearNative =\n patchMethod(window, cancelName, (delegate) => function (self, args) {\n const id = args[0];\n let task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n });\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCustomElements(_global, api) {\n const { isBrowser, isMix } = api.getGlobalObjects();\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n const callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n const { eventNames, zoneSymbolEventNames, TRUE_STR, FALSE_STR, ZONE_SYMBOL_PREFIX } = api.getGlobalObjects();\n // predefine all __zone_symbol__ + eventName + true/false string\n for (let i = 0; i < eventNames.length; i++) {\n const eventName = eventNames[i];\n const falseEventName = eventName + FALSE_STR;\n const trueEventName = eventName + TRUE_STR;\n const symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n const symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n const EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n}\nfunction patchEvent(global, api) {\n api.patchEventPrototype(global, api);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nZone.__load_patch('legacy', (global) => {\n const legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n});\nZone.__load_patch('timers', (global) => {\n const set = 'set';\n const clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', (global) => {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', (global, Zone) => {\n const blockingMethods = ['alert', 'prompt', 'confirm'];\n for (let i = 0; i < blockingMethods.length; i++) {\n const name = blockingMethods[i];\n patchMethod(global, name, (delegate, symbol, name) => {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n});\nZone.__load_patch('EventTarget', (global, Zone, api) => {\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n const XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n }\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n patchClass('IntersectionObserver');\n patchClass('FileReader');\n});\nZone.__load_patch('on_property', (global, Zone, api) => {\n propertyDescriptorPatch(api, global);\n propertyPatch();\n});\nZone.__load_patch('customElements', (global, Zone, api) => {\n patchCustomElements(global, api);\n});\nZone.__load_patch('XHR', (global, Zone) => {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n const XHR_TASK = zoneSymbol('xhrTask');\n const XHR_SYNC = zoneSymbol('xhrSync');\n const XHR_LISTENER = zoneSymbol('xhrListener');\n const XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n const XHR_URL = zoneSymbol('xhrURL');\n const XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n const XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n const XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n let oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n let oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n const XMLHttpRequestEventTarget = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n const XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n const READY_STATE_CHANGE = 'readystatechange';\n const SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n const data = task.data;\n const target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n const listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n const newListener = target[XHR_LISTENER] = () => {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n const loadTasks = target['__zone_symbol__loadfalse'];\n if (loadTasks && loadTasks.length > 0) {\n const oriInvoke = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n const loadTasks = target['__zone_symbol__loadfalse'];\n for (let i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n const storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n const data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n const openNative = patchMethod(XMLHttpRequestPrototype, 'open', () => function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n });\n const XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n const fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n const fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n const sendNative = patchMethod(XMLHttpRequestPrototype, 'send', () => function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n const options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n const task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n });\n const abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', () => function (self, args) {\n const task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n });\n }\n});\nZone.__load_patch('geolocation', (global) => {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n});\nZone.__load_patch('PromiseRejectionEvent', (global, Zone) => {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n const eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(eventTask => {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n const PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n const evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n","/*\r\n * DAA Example\r\n *\r\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\r\n *\r\n * This program is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n *\r\n * This program is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n *\r\n * You should have received a copy of the GNU General Public License\r\n * along with this program. If not, see .\r\n */\r\n\r\n/**\r\n * This file includes polyfills needed by Angular and is loaded before the app.\r\n * You can add your own extra polyfills to this file.\r\n *\r\n * This file is divided into 2 sections:\r\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\r\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your main\r\n * file.\r\n *\r\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\r\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\r\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\r\n *\r\n * Learn more in https://angular.io/guide/browser-support\r\n */\r\n\r\n/***************************************************************************************************\r\n * BROWSER POLYFILLS\r\n */\r\n\r\n/** IE9, IE10 and IE11 requires all of the following polyfills. **/\r\n// import 'core-js/es6/symbol';\r\n// import 'core-js/es6/object';\r\n// import 'core-js/es6/function';\r\n// import 'core-js/es6/parse-int';\r\n// import 'core-js/es6/parse-float';\r\n// import 'core-js/es6/number';\r\n// import 'core-js/es6/math';\r\n// import 'core-js/es6/string';\r\n// import 'core-js/es6/date';\r\n// import 'core-js/es6/array';\r\n// import 'core-js/es6/regexp';\r\n// import 'core-js/es6/map';\r\n// import 'core-js/es6/weak-map';\r\n// import 'core-js/es6/set';\r\n\r\n/**\r\n * If the application will be indexed by Google Search, the following is required.\r\n * Googlebot uses a renderer based on Chrome 41.\r\n * https://developers.google.com/search/docs/guides/rendering\r\n **/\r\n// import 'core-js/es6/array';\r\n\r\n/** IE10 and IE11 requires the following for NgClass support on SVG elements */\r\n// import 'classlist.js'; // Run `npm install --save classlist.js`.\r\n\r\n/** IE10 and IE11 requires the following for the Reflect API. */\r\n// import 'core-js/es6/reflect';\r\n\r\n/**\r\n * Web Animations `@angular/platform-browser/animations`\r\n * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.\r\n * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).\r\n **/\r\n// import 'web-animations-js'; // Run `npm install --save web-animations-js`.\r\n\r\n/**\r\n * By default, zone.js will patch all possible macroTask and DomEvents\r\n * user can disable parts of macroTask/DomEvents patch by setting following flags\r\n */\r\n\r\n // (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame\r\n // (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick\r\n // (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames\r\n\r\n /*\r\n * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js\r\n * with the following flag, it will bypass `zone.js` patch for IE/Edge\r\n */\r\n// (window as any).__Zone_enable_cross_context_check = true;\r\n\r\n/***************************************************************************************************\r\n * Zone JS is required by default for Angular itself.\r\n */\r\nimport 'zone.js/dist/zone'; // Included with Angular CLI.\r\n\r\n\r\n/***************************************************************************************************\r\n * APPLICATION IMPORTS\r\n */\r\n"],"sourceRoot":"webpack:///"}
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/polyfills-es5.js b/target/m2e-wtp/web-resources/polyfills-es5.js
deleted file mode 100644
index 75e6d4d0bd6ff39fd3717663d52f979a07cfccd0..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/polyfills-es5.js
+++ /dev/null
@@ -1,20931 +0,0 @@
-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; }
-
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["polyfills-es5"], {
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/es/date/index.js":
- /*!******************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/es/date/index.js ***!
- \******************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsEsDateIndexJs(module, exports, __webpack_require__) {
- __webpack_require__(
- /*! ../../modules/es.date.now */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.now.js");
-
- __webpack_require__(
- /*! ../../modules/es.date.to-json */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-json.js");
-
- __webpack_require__(
- /*! ../../modules/es.date.to-iso-string */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-iso-string.js");
-
- __webpack_require__(
- /*! ../../modules/es.date.to-string */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-string.js");
-
- __webpack_require__(
- /*! ../../modules/es.date.to-primitive */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-primitive.js");
-
- var path = __webpack_require__(
- /*! ../../internals/path */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/path.js");
-
- module.exports = path.Date;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/es/math/index.js":
- /*!******************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/es/math/index.js ***!
- \******************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsEsMathIndexJs(module, exports, __webpack_require__) {
- __webpack_require__(
- /*! ../../modules/es.math.acosh */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.acosh.js");
-
- __webpack_require__(
- /*! ../../modules/es.math.asinh */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.asinh.js");
-
- __webpack_require__(
- /*! ../../modules/es.math.atanh */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.atanh.js");
-
- __webpack_require__(
- /*! ../../modules/es.math.cbrt */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.cbrt.js");
-
- __webpack_require__(
- /*! ../../modules/es.math.clz32 */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.clz32.js");
-
- __webpack_require__(
- /*! ../../modules/es.math.cosh */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.cosh.js");
-
- __webpack_require__(
- /*! ../../modules/es.math.expm1 */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.expm1.js");
-
- __webpack_require__(
- /*! ../../modules/es.math.fround */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.fround.js");
-
- __webpack_require__(
- /*! ../../modules/es.math.hypot */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.hypot.js");
-
- __webpack_require__(
- /*! ../../modules/es.math.imul */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.imul.js");
-
- __webpack_require__(
- /*! ../../modules/es.math.log10 */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.log10.js");
-
- __webpack_require__(
- /*! ../../modules/es.math.log1p */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.log1p.js");
-
- __webpack_require__(
- /*! ../../modules/es.math.log2 */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.log2.js");
-
- __webpack_require__(
- /*! ../../modules/es.math.sign */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.sign.js");
-
- __webpack_require__(
- /*! ../../modules/es.math.sinh */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.sinh.js");
-
- __webpack_require__(
- /*! ../../modules/es.math.tanh */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.tanh.js");
-
- __webpack_require__(
- /*! ../../modules/es.math.to-string-tag */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.to-string-tag.js");
-
- __webpack_require__(
- /*! ../../modules/es.math.trunc */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.trunc.js");
-
- var path = __webpack_require__(
- /*! ../../internals/path */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/path.js");
-
- module.exports = path.Math;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/es/number/index.js":
- /*!********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/es/number/index.js ***!
- \********************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsEsNumberIndexJs(module, exports, __webpack_require__) {
- __webpack_require__(
- /*! ../../modules/es.number.constructor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.constructor.js");
-
- __webpack_require__(
- /*! ../../modules/es.number.epsilon */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.epsilon.js");
-
- __webpack_require__(
- /*! ../../modules/es.number.is-finite */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-finite.js");
-
- __webpack_require__(
- /*! ../../modules/es.number.is-integer */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-integer.js");
-
- __webpack_require__(
- /*! ../../modules/es.number.is-nan */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-nan.js");
-
- __webpack_require__(
- /*! ../../modules/es.number.is-safe-integer */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-safe-integer.js");
-
- __webpack_require__(
- /*! ../../modules/es.number.max-safe-integer */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.max-safe-integer.js");
-
- __webpack_require__(
- /*! ../../modules/es.number.min-safe-integer */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.min-safe-integer.js");
-
- __webpack_require__(
- /*! ../../modules/es.number.parse-float */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.parse-float.js");
-
- __webpack_require__(
- /*! ../../modules/es.number.parse-int */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.parse-int.js");
-
- __webpack_require__(
- /*! ../../modules/es.number.to-fixed */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.to-fixed.js");
-
- __webpack_require__(
- /*! ../../modules/es.number.to-precision */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.to-precision.js");
-
- var path = __webpack_require__(
- /*! ../../internals/path */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/path.js");
-
- module.exports = path.Number;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/es/reflect/index.js":
- /*!*********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/es/reflect/index.js ***!
- \*********************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsEsReflectIndexJs(module, exports, __webpack_require__) {
- __webpack_require__(
- /*! ../../modules/es.reflect.apply */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.apply.js");
-
- __webpack_require__(
- /*! ../../modules/es.reflect.construct */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.construct.js");
-
- __webpack_require__(
- /*! ../../modules/es.reflect.define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.define-property.js");
-
- __webpack_require__(
- /*! ../../modules/es.reflect.delete-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.delete-property.js");
-
- __webpack_require__(
- /*! ../../modules/es.reflect.get */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.get.js");
-
- __webpack_require__(
- /*! ../../modules/es.reflect.get-own-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js");
-
- __webpack_require__(
- /*! ../../modules/es.reflect.get-prototype-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.get-prototype-of.js");
-
- __webpack_require__(
- /*! ../../modules/es.reflect.has */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.has.js");
-
- __webpack_require__(
- /*! ../../modules/es.reflect.is-extensible */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.is-extensible.js");
-
- __webpack_require__(
- /*! ../../modules/es.reflect.own-keys */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.own-keys.js");
-
- __webpack_require__(
- /*! ../../modules/es.reflect.prevent-extensions */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.prevent-extensions.js");
-
- __webpack_require__(
- /*! ../../modules/es.reflect.set */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.set.js");
-
- __webpack_require__(
- /*! ../../modules/es.reflect.set-prototype-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.set-prototype-of.js");
-
- var path = __webpack_require__(
- /*! ../../internals/path */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/path.js");
-
- module.exports = path.Reflect;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/es/symbol/index.js":
- /*!********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/es/symbol/index.js ***!
- \********************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsEsSymbolIndexJs(module, exports, __webpack_require__) {
- __webpack_require__(
- /*! ../../modules/es.array.concat */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.concat.js");
-
- __webpack_require__(
- /*! ../../modules/es.object.to-string */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.to-string.js");
-
- __webpack_require__(
- /*! ../../modules/es.symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.js");
-
- __webpack_require__(
- /*! ../../modules/es.symbol.async-iterator */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.async-iterator.js");
-
- __webpack_require__(
- /*! ../../modules/es.symbol.description */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.description.js");
-
- __webpack_require__(
- /*! ../../modules/es.symbol.has-instance */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.has-instance.js");
-
- __webpack_require__(
- /*! ../../modules/es.symbol.is-concat-spreadable */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js");
-
- __webpack_require__(
- /*! ../../modules/es.symbol.iterator */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.iterator.js");
-
- __webpack_require__(
- /*! ../../modules/es.symbol.match */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.match.js");
-
- __webpack_require__(
- /*! ../../modules/es.symbol.match-all */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.match-all.js");
-
- __webpack_require__(
- /*! ../../modules/es.symbol.replace */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.replace.js");
-
- __webpack_require__(
- /*! ../../modules/es.symbol.search */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.search.js");
-
- __webpack_require__(
- /*! ../../modules/es.symbol.species */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.species.js");
-
- __webpack_require__(
- /*! ../../modules/es.symbol.split */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.split.js");
-
- __webpack_require__(
- /*! ../../modules/es.symbol.to-primitive */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.to-primitive.js");
-
- __webpack_require__(
- /*! ../../modules/es.symbol.to-string-tag */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.to-string-tag.js");
-
- __webpack_require__(
- /*! ../../modules/es.symbol.unscopables */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.unscopables.js");
-
- __webpack_require__(
- /*! ../../modules/es.math.to-string-tag */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.to-string-tag.js");
-
- __webpack_require__(
- /*! ../../modules/es.json.to-string-tag */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.json.to-string-tag.js");
-
- var path = __webpack_require__(
- /*! ../../internals/path */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/path.js");
-
- module.exports = path.Symbol;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-function.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-function.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsAFunctionJs(module, exports) {
- module.exports = function (it) {
- if (typeof it != 'function') {
- throw TypeError(String(it) + ' is not a function');
- }
-
- return it;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-possible-prototype.js":
- /*!***********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-possible-prototype.js ***!
- \***********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsAPossiblePrototypeJs(module, exports, __webpack_require__) {
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- module.exports = function (it) {
- if (!isObject(it) && it !== null) {
- throw TypeError("Can't set " + String(it) + ' as a prototype');
- }
-
- return it;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/add-to-unscopables.js":
- /*!*********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/add-to-unscopables.js ***!
- \*********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsAddToUnscopablesJs(module, exports, __webpack_require__) {
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var create = __webpack_require__(
- /*! ../internals/object-create */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-create.js");
-
- var definePropertyModule = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js");
-
- var UNSCOPABLES = wellKnownSymbol('unscopables');
- var ArrayPrototype = Array.prototype; // Array.prototype[@@unscopables]
- // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-
- if (ArrayPrototype[UNSCOPABLES] == undefined) {
- definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
- configurable: true,
- value: create(null)
- });
- } // add a key to Array.prototype[@@unscopables]
-
-
- module.exports = function (key) {
- ArrayPrototype[UNSCOPABLES][key] = true;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/advance-string-index.js":
- /*!***********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/advance-string-index.js ***!
- \***********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsAdvanceStringIndexJs(module, exports, __webpack_require__) {
- "use strict";
-
- var charAt = __webpack_require__(
- /*! ../internals/string-multibyte */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-multibyte.js").charAt; // `AdvanceStringIndex` abstract operation
- // https://tc39.github.io/ecma262/#sec-advancestringindex
-
-
- module.exports = function (S, index, unicode) {
- return index + (unicode ? charAt(S, index).length : 1);
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-instance.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-instance.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsAnInstanceJs(module, exports) {
- module.exports = function (it, Constructor, name) {
- if (!(it instanceof Constructor)) {
- throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
- }
-
- return it;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js":
- /*!************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js ***!
- \************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsAnObjectJs(module, exports, __webpack_require__) {
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- module.exports = function (it) {
- if (!isObject(it)) {
- throw TypeError(String(it) + ' is not an object');
- }
-
- return it;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-copy-within.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-copy-within.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsArrayCopyWithinJs(module, exports, __webpack_require__) {
- "use strict";
-
- var toObject = __webpack_require__(
- /*! ../internals/to-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js");
-
- var toAbsoluteIndex = __webpack_require__(
- /*! ../internals/to-absolute-index */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-absolute-index.js");
-
- var toLength = __webpack_require__(
- /*! ../internals/to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js");
-
- var min = Math.min; // `Array.prototype.copyWithin` method implementation
- // https://tc39.github.io/ecma262/#sec-array.prototype.copywithin
-
- module.exports = [].copyWithin || function copyWithin(target
- /* = 0 */
- , start
- /* = 0, end = @length */
- ) {
- var O = toObject(this);
- var len = toLength(O.length);
- var to = toAbsoluteIndex(target, len);
- var from = toAbsoluteIndex(start, len);
- var end = arguments.length > 2 ? arguments[2] : undefined;
- var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);
- var inc = 1;
-
- if (from < to && to < from + count) {
- inc = -1;
- from += count - 1;
- to += count - 1;
- }
-
- while (count-- > 0) {
- if (from in O) O[to] = O[from];else delete O[to];
- to += inc;
- from += inc;
- }
-
- return O;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-fill.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-fill.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsArrayFillJs(module, exports, __webpack_require__) {
- "use strict";
-
- var toObject = __webpack_require__(
- /*! ../internals/to-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js");
-
- var toAbsoluteIndex = __webpack_require__(
- /*! ../internals/to-absolute-index */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-absolute-index.js");
-
- var toLength = __webpack_require__(
- /*! ../internals/to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js"); // `Array.prototype.fill` method implementation
- // https://tc39.github.io/ecma262/#sec-array.prototype.fill
-
-
- module.exports = function fill(value
- /* , start = 0, end = @length */
- ) {
- var O = toObject(this);
- var length = toLength(O.length);
- var argumentsLength = arguments.length;
- var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);
- var end = argumentsLength > 2 ? arguments[2] : undefined;
- var endPos = end === undefined ? length : toAbsoluteIndex(end, length);
-
- while (endPos > index) {
- O[index++] = value;
- }
-
- return O;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-for-each.js":
- /*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-for-each.js ***!
- \*****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsArrayForEachJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $forEach = __webpack_require__(
- /*! ../internals/array-iteration */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-iteration.js").forEach;
-
- var arrayMethodIsStrict = __webpack_require__(
- /*! ../internals/array-method-is-strict */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-is-strict.js");
-
- var arrayMethodUsesToLength = __webpack_require__(
- /*! ../internals/array-method-uses-to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-uses-to-length.js");
-
- var STRICT_METHOD = arrayMethodIsStrict('forEach');
- var USES_TO_LENGTH = arrayMethodUsesToLength('forEach'); // `Array.prototype.forEach` method implementation
- // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-
- module.exports = !STRICT_METHOD || !USES_TO_LENGTH ? function forEach(callbackfn
- /* , thisArg */
- ) {
- return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- } : [].forEach;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-from.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-from.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsArrayFromJs(module, exports, __webpack_require__) {
- "use strict";
-
- var bind = __webpack_require__(
- /*! ../internals/function-bind-context */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind-context.js");
-
- var toObject = __webpack_require__(
- /*! ../internals/to-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js");
-
- var callWithSafeIterationClosing = __webpack_require__(
- /*! ../internals/call-with-safe-iteration-closing */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/call-with-safe-iteration-closing.js");
-
- var isArrayIteratorMethod = __webpack_require__(
- /*! ../internals/is-array-iterator-method */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array-iterator-method.js");
-
- var toLength = __webpack_require__(
- /*! ../internals/to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js");
-
- var createProperty = __webpack_require__(
- /*! ../internals/create-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property.js");
-
- var getIteratorMethod = __webpack_require__(
- /*! ../internals/get-iterator-method */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-iterator-method.js"); // `Array.from` method implementation
- // https://tc39.github.io/ecma262/#sec-array.from
-
-
- module.exports = function from(arrayLike
- /* , mapfn = undefined, thisArg = undefined */
- ) {
- var O = toObject(arrayLike);
- var C = typeof this == 'function' ? this : Array;
- var argumentsLength = arguments.length;
- var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
- var mapping = mapfn !== undefined;
- var iteratorMethod = getIteratorMethod(O);
- var index = 0;
- var length, result, step, iterator, next, value;
- if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2); // if the target is not iterable or it's an array with the default iterator - use a simple case
-
- if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
- iterator = iteratorMethod.call(O);
- next = iterator.next;
- result = new C();
-
- for (; !(step = next.call(iterator)).done; index++) {
- value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
- createProperty(result, index, value);
- }
- } else {
- length = toLength(O.length);
- result = new C(length);
-
- for (; length > index; index++) {
- value = mapping ? mapfn(O[index], index) : O[index];
- createProperty(result, index, value);
- }
- }
-
- result.length = index;
- return result;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-includes.js":
- /*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-includes.js ***!
- \*****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsArrayIncludesJs(module, exports, __webpack_require__) {
- var toIndexedObject = __webpack_require__(
- /*! ../internals/to-indexed-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js");
-
- var toLength = __webpack_require__(
- /*! ../internals/to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js");
-
- var toAbsoluteIndex = __webpack_require__(
- /*! ../internals/to-absolute-index */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-absolute-index.js"); // `Array.prototype.{ indexOf, includes }` methods implementation
-
-
- var createMethod = function createMethod(IS_INCLUDES) {
- return function ($this, el, fromIndex) {
- var O = toIndexedObject($this);
- var length = toLength(O.length);
- var index = toAbsoluteIndex(fromIndex, length);
- var value; // Array#includes uses SameValueZero equality algorithm
- // eslint-disable-next-line no-self-compare
-
- if (IS_INCLUDES && el != el) while (length > index) {
- value = O[index++]; // eslint-disable-next-line no-self-compare
-
- if (value != value) return true; // Array#indexOf ignores holes, Array#includes - not
- } else for (; length > index; index++) {
- if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
- }
- return !IS_INCLUDES && -1;
- };
- };
-
- module.exports = {
- // `Array.prototype.includes` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.includes
- includes: createMethod(true),
- // `Array.prototype.indexOf` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
- indexOf: createMethod(false)
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-iteration.js":
- /*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-iteration.js ***!
- \******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsArrayIterationJs(module, exports, __webpack_require__) {
- var bind = __webpack_require__(
- /*! ../internals/function-bind-context */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind-context.js");
-
- var IndexedObject = __webpack_require__(
- /*! ../internals/indexed-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/indexed-object.js");
-
- var toObject = __webpack_require__(
- /*! ../internals/to-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js");
-
- var toLength = __webpack_require__(
- /*! ../internals/to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js");
-
- var arraySpeciesCreate = __webpack_require__(
- /*! ../internals/array-species-create */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-species-create.js");
-
- var push = [].push; // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-
- var createMethod = function createMethod(TYPE) {
- var IS_MAP = TYPE == 1;
- var IS_FILTER = TYPE == 2;
- var IS_SOME = TYPE == 3;
- var IS_EVERY = TYPE == 4;
- var IS_FIND_INDEX = TYPE == 6;
- var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
- return function ($this, callbackfn, that, specificCreate) {
- var O = toObject($this);
- var self = IndexedObject(O);
- var boundFunction = bind(callbackfn, that, 3);
- var length = toLength(self.length);
- var index = 0;
- var create = specificCreate || arraySpeciesCreate;
- var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
- var value, result;
-
- for (; length > index; index++) {
- if (NO_HOLES || index in self) {
- value = self[index];
- result = boundFunction(value, index, O);
-
- if (TYPE) {
- if (IS_MAP) target[index] = result; // map
- else if (result) switch (TYPE) {
- case 3:
- return true;
- // some
-
- case 5:
- return value;
- // find
-
- case 6:
- return index;
- // findIndex
-
- case 2:
- push.call(target, value);
- // filter
- } else if (IS_EVERY) return false; // every
- }
- }
- }
-
- return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
- };
- };
-
- module.exports = {
- // `Array.prototype.forEach` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
- forEach: createMethod(0),
- // `Array.prototype.map` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.map
- map: createMethod(1),
- // `Array.prototype.filter` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.filter
- filter: createMethod(2),
- // `Array.prototype.some` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.some
- some: createMethod(3),
- // `Array.prototype.every` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.every
- every: createMethod(4),
- // `Array.prototype.find` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.find
- find: createMethod(5),
- // `Array.prototype.findIndex` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
- findIndex: createMethod(6)
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-last-index-of.js":
- /*!**********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-last-index-of.js ***!
- \**********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsArrayLastIndexOfJs(module, exports, __webpack_require__) {
- "use strict";
-
- var toIndexedObject = __webpack_require__(
- /*! ../internals/to-indexed-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js");
-
- var toInteger = __webpack_require__(
- /*! ../internals/to-integer */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-integer.js");
-
- var toLength = __webpack_require__(
- /*! ../internals/to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js");
-
- var arrayMethodIsStrict = __webpack_require__(
- /*! ../internals/array-method-is-strict */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-is-strict.js");
-
- var arrayMethodUsesToLength = __webpack_require__(
- /*! ../internals/array-method-uses-to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-uses-to-length.js");
-
- var min = Math.min;
- var nativeLastIndexOf = [].lastIndexOf;
- var NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;
- var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf'); // For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method
-
- var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', {
- ACCESSORS: true,
- 1: 0
- });
- var FORCED = NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH; // `Array.prototype.lastIndexOf` method implementation
- // https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof
-
- module.exports = FORCED ? function lastIndexOf(searchElement
- /* , fromIndex = @[*-1] */
- ) {
- // convert -0 to +0
- if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0;
- var O = toIndexedObject(this);
- var length = toLength(O.length);
- var index = length - 1;
- if (arguments.length > 1) index = min(index, toInteger(arguments[1]));
- if (index < 0) index = length + index;
-
- for (; index >= 0; index--) {
- if (index in O && O[index] === searchElement) return index || 0;
- }
-
- return -1;
- } : nativeLastIndexOf;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-has-species-support.js":
- /*!***********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-has-species-support.js ***!
- \***********************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsArrayMethodHasSpeciesSupportJs(module, exports, __webpack_require__) {
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var V8_VERSION = __webpack_require__(
- /*! ../internals/engine-v8-version */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-v8-version.js");
-
- var SPECIES = wellKnownSymbol('species');
-
- module.exports = function (METHOD_NAME) {
- // We can't use this feature detection in V8 since it causes
- // deoptimization and serious performance degradation
- // https://github.com/zloirock/core-js/issues/677
- return V8_VERSION >= 51 || !fails(function () {
- var array = [];
- var constructor = array.constructor = {};
-
- constructor[SPECIES] = function () {
- return {
- foo: 1
- };
- };
-
- return array[METHOD_NAME](Boolean).foo !== 1;
- });
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-is-strict.js":
- /*!*************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-is-strict.js ***!
- \*************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsArrayMethodIsStrictJs(module, exports, __webpack_require__) {
- "use strict";
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- module.exports = function (METHOD_NAME, argument) {
- var method = [][METHOD_NAME];
- return !!method && fails(function () {
- // eslint-disable-next-line no-useless-call,no-throw-literal
- method.call(null, argument || function () {
- throw 1;
- }, 1);
- });
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-uses-to-length.js":
- /*!******************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-uses-to-length.js ***!
- \******************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsArrayMethodUsesToLengthJs(module, exports, __webpack_require__) {
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var has = __webpack_require__(
- /*! ../internals/has */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-
- var defineProperty = Object.defineProperty;
- var cache = {};
-
- var thrower = function thrower(it) {
- throw it;
- };
-
- module.exports = function (METHOD_NAME, options) {
- if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];
- if (!options) options = {};
- var method = [][METHOD_NAME];
- var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;
- var argument0 = has(options, 0) ? options[0] : thrower;
- var argument1 = has(options, 1) ? options[1] : undefined;
- return cache[METHOD_NAME] = !!method && !fails(function () {
- if (ACCESSORS && !DESCRIPTORS) return true;
- var O = {
- length: -1
- };
- if (ACCESSORS) defineProperty(O, 1, {
- enumerable: true,
- get: thrower
- });else O[1] = 1;
- method.call(O, argument0, argument1);
- });
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-reduce.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-reduce.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsArrayReduceJs(module, exports, __webpack_require__) {
- var aFunction = __webpack_require__(
- /*! ../internals/a-function */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-function.js");
-
- var toObject = __webpack_require__(
- /*! ../internals/to-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js");
-
- var IndexedObject = __webpack_require__(
- /*! ../internals/indexed-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/indexed-object.js");
-
- var toLength = __webpack_require__(
- /*! ../internals/to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js"); // `Array.prototype.{ reduce, reduceRight }` methods implementation
-
-
- var createMethod = function createMethod(IS_RIGHT) {
- return function (that, callbackfn, argumentsLength, memo) {
- aFunction(callbackfn);
- var O = toObject(that);
- var self = IndexedObject(O);
- var length = toLength(O.length);
- var index = IS_RIGHT ? length - 1 : 0;
- var i = IS_RIGHT ? -1 : 1;
- if (argumentsLength < 2) while (true) {
- if (index in self) {
- memo = self[index];
- index += i;
- break;
- }
-
- index += i;
-
- if (IS_RIGHT ? index < 0 : length <= index) {
- throw TypeError('Reduce of empty array with no initial value');
- }
- }
-
- for (; IS_RIGHT ? index >= 0 : length > index; index += i) {
- if (index in self) {
- memo = callbackfn(memo, self[index], index, O);
- }
- }
-
- return memo;
- };
- };
-
- module.exports = {
- // `Array.prototype.reduce` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.reduce
- left: createMethod(false),
- // `Array.prototype.reduceRight` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright
- right: createMethod(true)
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-species-create.js":
- /*!***********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-species-create.js ***!
- \***********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsArraySpeciesCreateJs(module, exports, __webpack_require__) {
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var isArray = __webpack_require__(
- /*! ../internals/is-array */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array.js");
-
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var SPECIES = wellKnownSymbol('species'); // `ArraySpeciesCreate` abstract operation
- // https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-
- module.exports = function (originalArray, length) {
- var C;
-
- if (isArray(originalArray)) {
- C = originalArray.constructor; // cross-realm fallback
-
- if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;else if (isObject(C)) {
- C = C[SPECIES];
- if (C === null) C = undefined;
- }
- }
-
- return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/call-with-safe-iteration-closing.js":
- /*!***********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/call-with-safe-iteration-closing.js ***!
- \***********************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsCallWithSafeIterationClosingJs(module, exports, __webpack_require__) {
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js"); // call something on iterator step with safe closing on error
-
-
- module.exports = function (iterator, fn, value, ENTRIES) {
- try {
- return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); // 7.4.6 IteratorClose(iterator, completion)
- } catch (error) {
- var returnMethod = iterator['return'];
- if (returnMethod !== undefined) anObject(returnMethod.call(iterator));
- throw error;
- }
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/check-correctness-of-iteration.js":
- /*!*********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/check-correctness-of-iteration.js ***!
- \*********************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsCheckCorrectnessOfIterationJs(module, exports, __webpack_require__) {
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var ITERATOR = wellKnownSymbol('iterator');
- var SAFE_CLOSING = false;
-
- try {
- var called = 0;
- var iteratorWithReturn = {
- next: function next() {
- return {
- done: !!called++
- };
- },
- 'return': function _return() {
- SAFE_CLOSING = true;
- }
- };
-
- iteratorWithReturn[ITERATOR] = function () {
- return this;
- }; // eslint-disable-next-line no-throw-literal
-
-
- Array.from(iteratorWithReturn, function () {
- throw 2;
- });
- } catch (error) {
- /* empty */
- }
-
- module.exports = function (exec, SKIP_CLOSING) {
- if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
- var ITERATION_SUPPORT = false;
-
- try {
- var object = {};
-
- object[ITERATOR] = function () {
- return {
- next: function next() {
- return {
- done: ITERATION_SUPPORT = true
- };
- }
- };
- };
-
- exec(object);
- } catch (error) {
- /* empty */
- }
-
- return ITERATION_SUPPORT;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsClassofRawJs(module, exports) {
- var toString = {}.toString;
-
- module.exports = function (it) {
- return toString.call(it).slice(8, -1);
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof.js":
- /*!**********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof.js ***!
- \**********************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsClassofJs(module, exports, __webpack_require__) {
- var TO_STRING_TAG_SUPPORT = __webpack_require__(
- /*! ../internals/to-string-tag-support */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-string-tag-support.js");
-
- var classofRaw = __webpack_require__(
- /*! ../internals/classof-raw */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js");
-
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var TO_STRING_TAG = wellKnownSymbol('toStringTag'); // ES3 wrong here
-
- var CORRECT_ARGUMENTS = classofRaw(function () {
- return arguments;
- }()) == 'Arguments'; // fallback for IE11 Script Access Denied error
-
- var tryGet = function tryGet(it, key) {
- try {
- return it[key];
- } catch (error) {
- /* empty */
- }
- }; // getting tag from ES6+ `Object.prototype.toString`
-
-
- module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
- var O, tag, result;
- return it === undefined ? 'Undefined' : it === null ? 'Null' // @@toStringTag case
- : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag // builtinTag case
- : CORRECT_ARGUMENTS ? classofRaw(O) // ES3 arguments fallback
- : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-strong.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-strong.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsCollectionStrongJs(module, exports, __webpack_require__) {
- "use strict";
-
- var defineProperty = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js").f;
-
- var create = __webpack_require__(
- /*! ../internals/object-create */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-create.js");
-
- var redefineAll = __webpack_require__(
- /*! ../internals/redefine-all */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine-all.js");
-
- var bind = __webpack_require__(
- /*! ../internals/function-bind-context */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind-context.js");
-
- var anInstance = __webpack_require__(
- /*! ../internals/an-instance */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-instance.js");
-
- var iterate = __webpack_require__(
- /*! ../internals/iterate */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterate.js");
-
- var defineIterator = __webpack_require__(
- /*! ../internals/define-iterator */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-iterator.js");
-
- var setSpecies = __webpack_require__(
- /*! ../internals/set-species */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-species.js");
-
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var fastKey = __webpack_require__(
- /*! ../internals/internal-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js").fastKey;
-
- var InternalStateModule = __webpack_require__(
- /*! ../internals/internal-state */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js");
-
- var setInternalState = InternalStateModule.set;
- var internalStateGetterFor = InternalStateModule.getterFor;
- module.exports = {
- getConstructor: function getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
- var C = wrapper(function (that, iterable) {
- anInstance(that, C, CONSTRUCTOR_NAME);
- setInternalState(that, {
- type: CONSTRUCTOR_NAME,
- index: create(null),
- first: undefined,
- last: undefined,
- size: 0
- });
- if (!DESCRIPTORS) that.size = 0;
- if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);
- });
- var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
-
- var define = function define(that, key, value) {
- var state = getInternalState(that);
- var entry = getEntry(that, key);
- var previous, index; // change existing entry
-
- if (entry) {
- entry.value = value; // create new entry
- } else {
- state.last = entry = {
- index: index = fastKey(key, true),
- key: key,
- value: value,
- previous: previous = state.last,
- next: undefined,
- removed: false
- };
- if (!state.first) state.first = entry;
- if (previous) previous.next = entry;
- if (DESCRIPTORS) state.size++;else that.size++; // add to index
-
- if (index !== 'F') state.index[index] = entry;
- }
-
- return that;
- };
-
- var getEntry = function getEntry(that, key) {
- var state = getInternalState(that); // fast case
-
- var index = fastKey(key);
- var entry;
- if (index !== 'F') return state.index[index]; // frozen object case
-
- for (entry = state.first; entry; entry = entry.next) {
- if (entry.key == key) return entry;
- }
- };
-
- redefineAll(C.prototype, {
- // 23.1.3.1 Map.prototype.clear()
- // 23.2.3.2 Set.prototype.clear()
- clear: function clear() {
- var that = this;
- var state = getInternalState(that);
- var data = state.index;
- var entry = state.first;
-
- while (entry) {
- entry.removed = true;
- if (entry.previous) entry.previous = entry.previous.next = undefined;
- delete data[entry.index];
- entry = entry.next;
- }
-
- state.first = state.last = undefined;
- if (DESCRIPTORS) state.size = 0;else that.size = 0;
- },
- // 23.1.3.3 Map.prototype.delete(key)
- // 23.2.3.4 Set.prototype.delete(value)
- 'delete': function _delete(key) {
- var that = this;
- var state = getInternalState(that);
- var entry = getEntry(that, key);
-
- if (entry) {
- var next = entry.next;
- var prev = entry.previous;
- delete state.index[entry.index];
- entry.removed = true;
- if (prev) prev.next = next;
- if (next) next.previous = prev;
- if (state.first == entry) state.first = next;
- if (state.last == entry) state.last = prev;
- if (DESCRIPTORS) state.size--;else that.size--;
- }
-
- return !!entry;
- },
- // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
- // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
- forEach: function forEach(callbackfn
- /* , that = undefined */
- ) {
- var state = getInternalState(this);
- var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
- var entry;
-
- while (entry = entry ? entry.next : state.first) {
- boundFunction(entry.value, entry.key, this); // revert to the last existing entry
-
- while (entry && entry.removed) {
- entry = entry.previous;
- }
- }
- },
- // 23.1.3.7 Map.prototype.has(key)
- // 23.2.3.7 Set.prototype.has(value)
- has: function has(key) {
- return !!getEntry(this, key);
- }
- });
- redefineAll(C.prototype, IS_MAP ? {
- // 23.1.3.6 Map.prototype.get(key)
- get: function get(key) {
- var entry = getEntry(this, key);
- return entry && entry.value;
- },
- // 23.1.3.9 Map.prototype.set(key, value)
- set: function set(key, value) {
- return define(this, key === 0 ? 0 : key, value);
- }
- } : {
- // 23.2.3.1 Set.prototype.add(value)
- add: function add(value) {
- return define(this, value = value === 0 ? 0 : value, value);
- }
- });
- if (DESCRIPTORS) defineProperty(C.prototype, 'size', {
- get: function get() {
- return getInternalState(this).size;
- }
- });
- return C;
- },
- setStrong: function setStrong(C, CONSTRUCTOR_NAME, IS_MAP) {
- var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';
- var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);
- var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); // add .keys, .values, .entries, [@@iterator]
- // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
-
- defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {
- setInternalState(this, {
- type: ITERATOR_NAME,
- target: iterated,
- state: getInternalCollectionState(iterated),
- kind: kind,
- last: undefined
- });
- }, function () {
- var state = getInternalIteratorState(this);
- var kind = state.kind;
- var entry = state.last; // revert to the last existing entry
-
- while (entry && entry.removed) {
- entry = entry.previous;
- } // get next entry
-
-
- if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
- // or finish the iteration
- state.target = undefined;
- return {
- value: undefined,
- done: true
- };
- } // return step by kind
-
-
- if (kind == 'keys') return {
- value: entry.key,
- done: false
- };
- if (kind == 'values') return {
- value: entry.value,
- done: false
- };
- return {
- value: [entry.key, entry.value],
- done: false
- };
- }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); // add [@@species], 23.1.2.2, 23.2.2.2
-
- setSpecies(CONSTRUCTOR_NAME);
- }
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-weak.js":
- /*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-weak.js ***!
- \******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsCollectionWeakJs(module, exports, __webpack_require__) {
- "use strict";
-
- var redefineAll = __webpack_require__(
- /*! ../internals/redefine-all */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine-all.js");
-
- var getWeakData = __webpack_require__(
- /*! ../internals/internal-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js").getWeakData;
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var anInstance = __webpack_require__(
- /*! ../internals/an-instance */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-instance.js");
-
- var iterate = __webpack_require__(
- /*! ../internals/iterate */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterate.js");
-
- var ArrayIterationModule = __webpack_require__(
- /*! ../internals/array-iteration */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-iteration.js");
-
- var $has = __webpack_require__(
- /*! ../internals/has */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-
- var InternalStateModule = __webpack_require__(
- /*! ../internals/internal-state */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js");
-
- var setInternalState = InternalStateModule.set;
- var internalStateGetterFor = InternalStateModule.getterFor;
- var find = ArrayIterationModule.find;
- var findIndex = ArrayIterationModule.findIndex;
- var id = 0; // fallback for uncaught frozen keys
-
- var uncaughtFrozenStore = function uncaughtFrozenStore(store) {
- return store.frozen || (store.frozen = new UncaughtFrozenStore());
- };
-
- var UncaughtFrozenStore = function UncaughtFrozenStore() {
- this.entries = [];
- };
-
- var findUncaughtFrozen = function findUncaughtFrozen(store, key) {
- return find(store.entries, function (it) {
- return it[0] === key;
- });
- };
-
- UncaughtFrozenStore.prototype = {
- get: function get(key) {
- var entry = findUncaughtFrozen(this, key);
- if (entry) return entry[1];
- },
- has: function has(key) {
- return !!findUncaughtFrozen(this, key);
- },
- set: function set(key, value) {
- var entry = findUncaughtFrozen(this, key);
- if (entry) entry[1] = value;else this.entries.push([key, value]);
- },
- 'delete': function _delete(key) {
- var index = findIndex(this.entries, function (it) {
- return it[0] === key;
- });
- if (~index) this.entries.splice(index, 1);
- return !!~index;
- }
- };
- module.exports = {
- getConstructor: function getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
- var C = wrapper(function (that, iterable) {
- anInstance(that, C, CONSTRUCTOR_NAME);
- setInternalState(that, {
- type: CONSTRUCTOR_NAME,
- id: id++,
- frozen: undefined
- });
- if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);
- });
- var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
-
- var define = function define(that, key, value) {
- var state = getInternalState(that);
- var data = getWeakData(anObject(key), true);
- if (data === true) uncaughtFrozenStore(state).set(key, value);else data[state.id] = value;
- return that;
- };
-
- redefineAll(C.prototype, {
- // 23.3.3.2 WeakMap.prototype.delete(key)
- // 23.4.3.3 WeakSet.prototype.delete(value)
- 'delete': function _delete(key) {
- var state = getInternalState(this);
- if (!isObject(key)) return false;
- var data = getWeakData(key);
- if (data === true) return uncaughtFrozenStore(state)['delete'](key);
- return data && $has(data, state.id) && delete data[state.id];
- },
- // 23.3.3.4 WeakMap.prototype.has(key)
- // 23.4.3.4 WeakSet.prototype.has(value)
- has: function has(key) {
- var state = getInternalState(this);
- if (!isObject(key)) return false;
- var data = getWeakData(key);
- if (data === true) return uncaughtFrozenStore(state).has(key);
- return data && $has(data, state.id);
- }
- });
- redefineAll(C.prototype, IS_MAP ? {
- // 23.3.3.3 WeakMap.prototype.get(key)
- get: function get(key) {
- var state = getInternalState(this);
-
- if (isObject(key)) {
- var data = getWeakData(key);
- if (data === true) return uncaughtFrozenStore(state).get(key);
- return data ? data[state.id] : undefined;
- }
- },
- // 23.3.3.5 WeakMap.prototype.set(key, value)
- set: function set(key, value) {
- return define(this, key, value);
- }
- } : {
- // 23.4.3.1 WeakSet.prototype.add(value)
- add: function add(value) {
- return define(this, value, true);
- }
- });
- return C;
- }
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsCollectionJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var isForced = __webpack_require__(
- /*! ../internals/is-forced */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-forced.js");
-
- var redefine = __webpack_require__(
- /*! ../internals/redefine */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js");
-
- var InternalMetadataModule = __webpack_require__(
- /*! ../internals/internal-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js");
-
- var iterate = __webpack_require__(
- /*! ../internals/iterate */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterate.js");
-
- var anInstance = __webpack_require__(
- /*! ../internals/an-instance */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-instance.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var checkCorrectnessOfIteration = __webpack_require__(
- /*! ../internals/check-correctness-of-iteration */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/check-correctness-of-iteration.js");
-
- var setToStringTag = __webpack_require__(
- /*! ../internals/set-to-string-tag */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-to-string-tag.js");
-
- var inheritIfRequired = __webpack_require__(
- /*! ../internals/inherit-if-required */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inherit-if-required.js");
-
- module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
- var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;
- var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;
- var ADDER = IS_MAP ? 'set' : 'add';
- var NativeConstructor = global[CONSTRUCTOR_NAME];
- var NativePrototype = NativeConstructor && NativeConstructor.prototype;
- var Constructor = NativeConstructor;
- var exported = {};
-
- var fixMethod = function fixMethod(KEY) {
- var nativeMethod = NativePrototype[KEY];
- redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {
- nativeMethod.call(this, value === 0 ? 0 : value);
- return this;
- } : KEY == 'delete' ? function (key) {
- return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
- } : KEY == 'get' ? function get(key) {
- return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);
- } : KEY == 'has' ? function has(key) {
- return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
- } : function set(key, value) {
- nativeMethod.call(this, key === 0 ? 0 : key, value);
- return this;
- });
- }; // eslint-disable-next-line max-len
-
-
- if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {
- new NativeConstructor().entries().next();
- })))) {
- // create collection constructor
- Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
- InternalMetadataModule.REQUIRED = true;
- } else if (isForced(CONSTRUCTOR_NAME, true)) {
- var instance = new Constructor(); // early implementations not supports chaining
-
- var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
-
- var THROWS_ON_PRIMITIVES = fails(function () {
- instance.has(1);
- }); // most early implementations doesn't supports iterables, most modern - not close it correctly
- // eslint-disable-next-line no-new
-
- var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) {
- new NativeConstructor(iterable);
- }); // for early implementations -0 and +0 not the same
-
- var BUGGY_ZERO = !IS_WEAK && fails(function () {
- // V8 ~ Chromium 42- fails only with 5+ elements
- var $instance = new NativeConstructor();
- var index = 5;
-
- while (index--) {
- $instance[ADDER](index, index);
- }
-
- return !$instance.has(-0);
- });
-
- if (!ACCEPT_ITERABLES) {
- Constructor = wrapper(function (dummy, iterable) {
- anInstance(dummy, Constructor, CONSTRUCTOR_NAME);
- var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
- if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);
- return that;
- });
- Constructor.prototype = NativePrototype;
- NativePrototype.constructor = Constructor;
- }
-
- if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
- fixMethod('delete');
- fixMethod('has');
- IS_MAP && fixMethod('get');
- }
-
- if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); // weak collections should not contains .clear method
-
- if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;
- }
-
- exported[CONSTRUCTOR_NAME] = Constructor;
- $({
- global: true,
- forced: Constructor != NativeConstructor
- }, exported);
- setToStringTag(Constructor, CONSTRUCTOR_NAME);
- if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);
- return Constructor;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/copy-constructor-properties.js":
- /*!******************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/copy-constructor-properties.js ***!
- \******************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsCopyConstructorPropertiesJs(module, exports, __webpack_require__) {
- var has = __webpack_require__(
- /*! ../internals/has */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-
- var ownKeys = __webpack_require__(
- /*! ../internals/own-keys */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/own-keys.js");
-
- var getOwnPropertyDescriptorModule = __webpack_require__(
- /*! ../internals/object-get-own-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js");
-
- var definePropertyModule = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js");
-
- module.exports = function (target, source) {
- var keys = ownKeys(source);
- var defineProperty = definePropertyModule.f;
- var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
-
- for (var i = 0; i < keys.length; i++) {
- var key = keys[i];
- if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
- }
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-is-regexp-logic.js":
- /*!**************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-is-regexp-logic.js ***!
- \**************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsCorrectIsRegexpLogicJs(module, exports, __webpack_require__) {
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var MATCH = wellKnownSymbol('match');
-
- module.exports = function (METHOD_NAME) {
- var regexp = /./;
-
- try {
- '/./'[METHOD_NAME](regexp);
- } catch (e) {
- try {
- regexp[MATCH] = false;
- return '/./'[METHOD_NAME](regexp);
- } catch (f) {
- /* empty */
- }
- }
-
- return false;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-prototype-getter.js":
- /*!***************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-prototype-getter.js ***!
- \***************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsCorrectPrototypeGetterJs(module, exports, __webpack_require__) {
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- module.exports = !fails(function () {
- function F() {
- /* empty */
- }
-
- F.prototype.constructor = null;
- return Object.getPrototypeOf(new F()) !== F.prototype;
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-html.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-html.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsCreateHtmlJs(module, exports, __webpack_require__) {
- var requireObjectCoercible = __webpack_require__(
- /*! ../internals/require-object-coercible */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js");
-
- var quot = /"/g; // B.2.3.2.1 CreateHTML(string, tag, attribute, value)
- // https://tc39.github.io/ecma262/#sec-createhtml
-
- module.exports = function (string, tag, attribute, value) {
- var S = String(requireObjectCoercible(string));
- var p1 = '<' + tag;
- if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"';
- return p1 + '>' + S + '' + tag + '>';
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-iterator-constructor.js":
- /*!******************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-iterator-constructor.js ***!
- \******************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsCreateIteratorConstructorJs(module, exports, __webpack_require__) {
- "use strict";
-
- var IteratorPrototype = __webpack_require__(
- /*! ../internals/iterators-core */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators-core.js").IteratorPrototype;
-
- var create = __webpack_require__(
- /*! ../internals/object-create */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-create.js");
-
- var createPropertyDescriptor = __webpack_require__(
- /*! ../internals/create-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property-descriptor.js");
-
- var setToStringTag = __webpack_require__(
- /*! ../internals/set-to-string-tag */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-to-string-tag.js");
-
- var Iterators = __webpack_require__(
- /*! ../internals/iterators */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators.js");
-
- var returnThis = function returnThis() {
- return this;
- };
-
- module.exports = function (IteratorConstructor, NAME, next) {
- var TO_STRING_TAG = NAME + ' Iterator';
- IteratorConstructor.prototype = create(IteratorPrototype, {
- next: createPropertyDescriptor(1, next)
- });
- setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
- Iterators[TO_STRING_TAG] = returnThis;
- return IteratorConstructor;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js":
- /*!*********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js ***!
- \*********************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsCreateNonEnumerablePropertyJs(module, exports, __webpack_require__) {
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var definePropertyModule = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js");
-
- var createPropertyDescriptor = __webpack_require__(
- /*! ../internals/create-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property-descriptor.js");
-
- module.exports = DESCRIPTORS ? function (object, key, value) {
- return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
- } : function (object, key, value) {
- object[key] = value;
- return object;
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property-descriptor.js":
- /*!*****************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property-descriptor.js ***!
- \*****************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsCreatePropertyDescriptorJs(module, exports) {
- module.exports = function (bitmap, value) {
- return {
- enumerable: !(bitmap & 1),
- configurable: !(bitmap & 2),
- writable: !(bitmap & 4),
- value: value
- };
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property.js":
- /*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property.js ***!
- \******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsCreatePropertyJs(module, exports, __webpack_require__) {
- "use strict";
-
- var toPrimitive = __webpack_require__(
- /*! ../internals/to-primitive */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-primitive.js");
-
- var definePropertyModule = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js");
-
- var createPropertyDescriptor = __webpack_require__(
- /*! ../internals/create-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property-descriptor.js");
-
- module.exports = function (object, key, value) {
- var propertyKey = toPrimitive(key);
- if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));else object[propertyKey] = value;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/date-to-iso-string.js":
- /*!*********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/date-to-iso-string.js ***!
- \*********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsDateToIsoStringJs(module, exports, __webpack_require__) {
- "use strict";
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var padStart = __webpack_require__(
- /*! ../internals/string-pad */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-pad.js").start;
-
- var abs = Math.abs;
- var DatePrototype = Date.prototype;
- var getTime = DatePrototype.getTime;
- var nativeDateToISOString = DatePrototype.toISOString; // `Date.prototype.toISOString` method implementation
- // https://tc39.github.io/ecma262/#sec-date.prototype.toisostring
- // PhantomJS / old WebKit fails here:
-
- module.exports = fails(function () {
- return nativeDateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';
- }) || !fails(function () {
- nativeDateToISOString.call(new Date(NaN));
- }) ? function toISOString() {
- if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');
- var date = this;
- var year = date.getUTCFullYear();
- var milliseconds = date.getUTCMilliseconds();
- var sign = year < 0 ? '-' : year > 9999 ? '+' : '';
- return sign + padStart(abs(year), sign ? 6 : 4, 0) + '-' + padStart(date.getUTCMonth() + 1, 2, 0) + '-' + padStart(date.getUTCDate(), 2, 0) + 'T' + padStart(date.getUTCHours(), 2, 0) + ':' + padStart(date.getUTCMinutes(), 2, 0) + ':' + padStart(date.getUTCSeconds(), 2, 0) + '.' + padStart(milliseconds, 3, 0) + 'Z';
- } : nativeDateToISOString;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/date-to-primitive.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/date-to-primitive.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsDateToPrimitiveJs(module, exports, __webpack_require__) {
- "use strict";
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var toPrimitive = __webpack_require__(
- /*! ../internals/to-primitive */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-primitive.js");
-
- module.exports = function (hint) {
- if (hint !== 'string' && hint !== 'number' && hint !== 'default') {
- throw TypeError('Incorrect hint');
- }
-
- return toPrimitive(anObject(this), hint !== 'number');
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-iterator.js":
- /*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-iterator.js ***!
- \******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsDefineIteratorJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var createIteratorConstructor = __webpack_require__(
- /*! ../internals/create-iterator-constructor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-iterator-constructor.js");
-
- var getPrototypeOf = __webpack_require__(
- /*! ../internals/object-get-prototype-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js");
-
- var setPrototypeOf = __webpack_require__(
- /*! ../internals/object-set-prototype-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-set-prototype-of.js");
-
- var setToStringTag = __webpack_require__(
- /*! ../internals/set-to-string-tag */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-to-string-tag.js");
-
- var createNonEnumerableProperty = __webpack_require__(
- /*! ../internals/create-non-enumerable-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js");
-
- var redefine = __webpack_require__(
- /*! ../internals/redefine */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js");
-
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var IS_PURE = __webpack_require__(
- /*! ../internals/is-pure */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-pure.js");
-
- var Iterators = __webpack_require__(
- /*! ../internals/iterators */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators.js");
-
- var IteratorsCore = __webpack_require__(
- /*! ../internals/iterators-core */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators-core.js");
-
- var IteratorPrototype = IteratorsCore.IteratorPrototype;
- var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
- var ITERATOR = wellKnownSymbol('iterator');
- var KEYS = 'keys';
- var VALUES = 'values';
- var ENTRIES = 'entries';
-
- var returnThis = function returnThis() {
- return this;
- };
-
- module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
- createIteratorConstructor(IteratorConstructor, NAME, next);
-
- var getIterationMethod = function getIterationMethod(KIND) {
- if (KIND === DEFAULT && defaultIterator) return defaultIterator;
- if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];
-
- switch (KIND) {
- case KEYS:
- return function keys() {
- return new IteratorConstructor(this, KIND);
- };
-
- case VALUES:
- return function values() {
- return new IteratorConstructor(this, KIND);
- };
-
- case ENTRIES:
- return function entries() {
- return new IteratorConstructor(this, KIND);
- };
- }
-
- return function () {
- return new IteratorConstructor(this);
- };
- };
-
- var TO_STRING_TAG = NAME + ' Iterator';
- var INCORRECT_VALUES_NAME = false;
- var IterablePrototype = Iterable.prototype;
- var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];
- var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
- var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
- var CurrentIteratorPrototype, methods, KEY; // fix native
-
- if (anyNativeIterator) {
- CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
-
- if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
- if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
- if (setPrototypeOf) {
- setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
- } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {
- createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);
- }
- } // Set @@toStringTag to native iterators
-
-
- setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
- if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;
- }
- } // fix Array#{values, @@iterator}.name in V8 / FF
-
-
- if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
- INCORRECT_VALUES_NAME = true;
-
- defaultIterator = function values() {
- return nativeIterator.call(this);
- };
- } // define iterator
-
-
- if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
- createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);
- }
-
- Iterators[NAME] = defaultIterator; // export additional methods
-
- if (DEFAULT) {
- methods = {
- values: getIterationMethod(VALUES),
- keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
- entries: getIterationMethod(ENTRIES)
- };
- if (FORCED) for (KEY in methods) {
- if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
- redefine(IterablePrototype, KEY, methods[KEY]);
- }
- } else $({
- target: NAME,
- proto: true,
- forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME
- }, methods);
- }
-
- return methods;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-well-known-symbol.js":
- /*!***************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-well-known-symbol.js ***!
- \***************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsDefineWellKnownSymbolJs(module, exports, __webpack_require__) {
- var path = __webpack_require__(
- /*! ../internals/path */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/path.js");
-
- var has = __webpack_require__(
- /*! ../internals/has */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-
- var wrappedWellKnownSymbolModule = __webpack_require__(
- /*! ../internals/well-known-symbol-wrapped */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol-wrapped.js");
-
- var defineProperty = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js").f;
-
- module.exports = function (NAME) {
- var Symbol = path.Symbol || (path.Symbol = {});
- if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {
- value: wrappedWellKnownSymbolModule.f(NAME)
- });
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsDescriptorsJs(module, exports, __webpack_require__) {
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js"); // Thank's IE8 for his funny defineProperty
-
-
- module.exports = !fails(function () {
- return Object.defineProperty({}, 1, {
- get: function get() {
- return 7;
- }
- })[1] != 7;
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/document-create-element.js":
- /*!**************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/document-create-element.js ***!
- \**************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsDocumentCreateElementJs(module, exports, __webpack_require__) {
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var document = global.document; // typeof document.createElement is 'object' in old IE
-
- var EXISTS = isObject(document) && isObject(document.createElement);
-
- module.exports = function (it) {
- return EXISTS ? document.createElement(it) : {};
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/dom-iterables.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/dom-iterables.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsDomIterablesJs(module, exports) {
- // iterable DOM collections
- // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
- module.exports = {
- CSSRuleList: 0,
- CSSStyleDeclaration: 0,
- CSSValueList: 0,
- ClientRectList: 0,
- DOMRectList: 0,
- DOMStringList: 0,
- DOMTokenList: 1,
- DataTransferItemList: 0,
- FileList: 0,
- HTMLAllCollection: 0,
- HTMLCollection: 0,
- HTMLFormElement: 0,
- HTMLSelectElement: 0,
- MediaList: 0,
- MimeTypeArray: 0,
- NamedNodeMap: 0,
- NodeList: 1,
- PaintRequestList: 0,
- Plugin: 0,
- PluginArray: 0,
- SVGLengthList: 0,
- SVGNumberList: 0,
- SVGPathSegList: 0,
- SVGPointList: 0,
- SVGStringList: 0,
- SVGTransformList: 0,
- SourceBufferList: 0,
- StyleSheetList: 0,
- TextTrackCueList: 0,
- TextTrackList: 0,
- TouchList: 0
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-is-ios.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-is-ios.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsEngineIsIosJs(module, exports, __webpack_require__) {
- var userAgent = __webpack_require__(
- /*! ../internals/engine-user-agent */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-user-agent.js");
-
- module.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-user-agent.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-user-agent.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsEngineUserAgentJs(module, exports, __webpack_require__) {
- var getBuiltIn = __webpack_require__(
- /*! ../internals/get-built-in */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js");
-
- module.exports = getBuiltIn('navigator', 'userAgent') || '';
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-v8-version.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-v8-version.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsEngineV8VersionJs(module, exports, __webpack_require__) {
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var userAgent = __webpack_require__(
- /*! ../internals/engine-user-agent */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-user-agent.js");
-
- var process = global.process;
- var versions = process && process.versions;
- var v8 = versions && versions.v8;
- var match, version;
-
- if (v8) {
- match = v8.split('.');
- version = match[0] + match[1];
- } else if (userAgent) {
- match = userAgent.match(/Edge\/(\d+)/);
-
- if (!match || match[1] >= 74) {
- match = userAgent.match(/Chrome\/(\d+)/);
- if (match) version = match[1];
- }
- }
-
- module.exports = version && +version;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/enum-bug-keys.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/enum-bug-keys.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsEnumBugKeysJs(module, exports) {
- // IE8- don't enum bug keys
- module.exports = ['constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf'];
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js":
- /*!*********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js ***!
- \*********************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsExportJs(module, exports, __webpack_require__) {
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var getOwnPropertyDescriptor = __webpack_require__(
- /*! ../internals/object-get-own-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
-
- var createNonEnumerableProperty = __webpack_require__(
- /*! ../internals/create-non-enumerable-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js");
-
- var redefine = __webpack_require__(
- /*! ../internals/redefine */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js");
-
- var setGlobal = __webpack_require__(
- /*! ../internals/set-global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-global.js");
-
- var copyConstructorProperties = __webpack_require__(
- /*! ../internals/copy-constructor-properties */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/copy-constructor-properties.js");
-
- var isForced = __webpack_require__(
- /*! ../internals/is-forced */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-forced.js");
- /*
- options.target - name of the target object
- options.global - target is the global object
- options.stat - export as static methods of target
- options.proto - export as prototype methods of target
- options.real - real prototype method for the `pure` version
- options.forced - export even if the native feature is available
- options.bind - bind methods to the target, required for the `pure` version
- options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
- options.unsafe - use the simple assignment of property instead of delete + defineProperty
- options.sham - add a flag to not completely full polyfills
- options.enumerable - export as enumerable property
- options.noTargetGet - prevent calling a getter on target
- */
-
-
- module.exports = function (options, source) {
- var TARGET = options.target;
- var GLOBAL = options.global;
- var STATIC = options.stat;
- var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-
- if (GLOBAL) {
- target = global;
- } else if (STATIC) {
- target = global[TARGET] || setGlobal(TARGET, {});
- } else {
- target = (global[TARGET] || {}).prototype;
- }
-
- if (target) for (key in source) {
- sourceProperty = source[key];
-
- if (options.noTargetGet) {
- descriptor = getOwnPropertyDescriptor(target, key);
- targetProperty = descriptor && descriptor.value;
- } else targetProperty = target[key];
-
- FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); // contained in target
-
- if (!FORCED && targetProperty !== undefined) {
- if (typeof sourceProperty === typeof targetProperty) continue;
- copyConstructorProperties(sourceProperty, targetProperty);
- } // add a flag to not completely full polyfills
-
-
- if (options.sham || targetProperty && targetProperty.sham) {
- createNonEnumerableProperty(sourceProperty, 'sham', true);
- } // extend global
-
-
- redefine(target, key, sourceProperty, options);
- }
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js":
- /*!********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js ***!
- \********************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsFailsJs(module, exports) {
- module.exports = function (exec) {
- try {
- return !!exec();
- } catch (error) {
- return true;
- }
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js":
- /*!*************************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js ***!
- \*************************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsFixRegexpWellKnownSymbolLogicJs(module, exports, __webpack_require__) {
- "use strict"; // TODO: Remove from `core-js@4` since it's moved to entry points
-
- __webpack_require__(
- /*! ../modules/es.regexp.exec */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.exec.js");
-
- var redefine = __webpack_require__(
- /*! ../internals/redefine */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var regexpExec = __webpack_require__(
- /*! ../internals/regexp-exec */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-exec.js");
-
- var createNonEnumerableProperty = __webpack_require__(
- /*! ../internals/create-non-enumerable-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js");
-
- var SPECIES = wellKnownSymbol('species');
- var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
- // #replace needs built-in support for named groups.
- // #match works fine because it just return the exec results, even if it has
- // a "grops" property.
- var re = /./;
-
- re.exec = function () {
- var result = [];
- result.groups = {
- a: '7'
- };
- return result;
- };
-
- return ''.replace(re, '$') !== '7';
- }); // IE <= 11 replaces $0 with the whole match, as if it was $&
- // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
-
- var REPLACE_KEEPS_$0 = function () {
- return 'a'.replace(/./, '$0') === '$0';
- }();
-
- var REPLACE = wellKnownSymbol('replace'); // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
-
- var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = function () {
- if (/./[REPLACE]) {
- return /./[REPLACE]('a', '$0') === '';
- }
-
- return false;
- }(); // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
- // Weex JS has frozen built-in prototypes, so use try / catch wrapper
-
-
- var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
- var re = /(?:)/;
- var originalExec = re.exec;
-
- re.exec = function () {
- return originalExec.apply(this, arguments);
- };
-
- var result = 'ab'.split(re);
- return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
- });
-
- module.exports = function (KEY, length, exec, sham) {
- var SYMBOL = wellKnownSymbol(KEY);
- var DELEGATES_TO_SYMBOL = !fails(function () {
- // String methods call symbol-named RegEp methods
- var O = {};
-
- O[SYMBOL] = function () {
- return 7;
- };
-
- return ''[KEY](O) != 7;
- });
- var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
- // Symbol-named RegExp methods call .exec
- var execCalled = false;
- var re = /a/;
-
- if (KEY === 'split') {
- // We can't use real regex here since it causes deoptimization
- // and serious performance degradation in V8
- // https://github.com/zloirock/core-js/issues/306
- re = {}; // RegExp[@@split] doesn't call the regex's exec method, but first creates
- // a new one. We need to return the patched regex when creating the new one.
-
- re.constructor = {};
-
- re.constructor[SPECIES] = function () {
- return re;
- };
-
- re.flags = '';
- re[SYMBOL] = /./[SYMBOL];
- }
-
- re.exec = function () {
- execCalled = true;
- return null;
- };
-
- re[SYMBOL]('');
- return !execCalled;
- });
-
- if (!DELEGATES_TO_SYMBOL || !DELEGATES_TO_EXEC || KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0 && !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE) || KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) {
- var nativeRegExpMethod = /./[SYMBOL];
- var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
- if (regexp.exec === regexpExec) {
- if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
- // The native String method already delegates to @@method (this
- // polyfilled function), leasing to infinite recursion.
- // We avoid it by directly calling the native @@method method.
- return {
- done: true,
- value: nativeRegExpMethod.call(regexp, str, arg2)
- };
- }
-
- return {
- done: true,
- value: nativeMethod.call(str, regexp, arg2)
- };
- }
-
- return {
- done: false
- };
- }, {
- REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,
- REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
- });
- var stringMethod = methods[0];
- var regexMethod = methods[1];
- redefine(String.prototype, KEY, stringMethod);
- redefine(RegExp.prototype, SYMBOL, length == 2 // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
- // 21.2.5.11 RegExp.prototype[@@split](string, limit)
- ? function (string, arg) {
- return regexMethod.call(string, this, arg);
- } // 21.2.5.6 RegExp.prototype[@@match](string)
- // 21.2.5.9 RegExp.prototype[@@search](string)
- : function (string) {
- return regexMethod.call(string, this);
- });
- }
-
- if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/freezing.js":
- /*!***********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/freezing.js ***!
- \***********************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsFreezingJs(module, exports, __webpack_require__) {
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- module.exports = !fails(function () {
- return Object.isExtensible(Object.preventExtensions({}));
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind-context.js":
- /*!************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind-context.js ***!
- \************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsFunctionBindContextJs(module, exports, __webpack_require__) {
- var aFunction = __webpack_require__(
- /*! ../internals/a-function */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-function.js"); // optional / simple context binding
-
-
- module.exports = function (fn, that, length) {
- aFunction(fn);
- if (that === undefined) return fn;
-
- switch (length) {
- case 0:
- return function () {
- return fn.call(that);
- };
-
- case 1:
- return function (a) {
- return fn.call(that, a);
- };
-
- case 2:
- return function (a, b) {
- return fn.call(that, a, b);
- };
-
- case 3:
- return function (a, b, c) {
- return fn.call(that, a, b, c);
- };
- }
-
- return function ()
- /* ...args */
- {
- return fn.apply(that, arguments);
- };
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsFunctionBindJs(module, exports, __webpack_require__) {
- "use strict";
-
- var aFunction = __webpack_require__(
- /*! ../internals/a-function */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-function.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var slice = [].slice;
- var factories = {};
-
- var construct = function construct(C, argsLength, args) {
- if (!(argsLength in factories)) {
- for (var list = [], i = 0; i < argsLength; i++) {
- list[i] = 'a[' + i + ']';
- } // eslint-disable-next-line no-new-func
-
-
- factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');
- }
-
- return factories[argsLength](C, args);
- }; // `Function.prototype.bind` method implementation
- // https://tc39.github.io/ecma262/#sec-function.prototype.bind
-
-
- module.exports = Function.bind || function bind(that
- /* , ...args */
- ) {
- var fn = aFunction(this);
- var partArgs = slice.call(arguments, 1);
-
- var boundFunction = function bound()
- /* args... */
- {
- var args = partArgs.concat(slice.call(arguments));
- return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);
- };
-
- if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;
- return boundFunction;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsGetBuiltInJs(module, exports, __webpack_require__) {
- var path = __webpack_require__(
- /*! ../internals/path */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/path.js");
-
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var aFunction = function aFunction(variable) {
- return typeof variable == 'function' ? variable : undefined;
- };
-
- module.exports = function (namespace, method) {
- return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-iterator-method.js":
- /*!**********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-iterator-method.js ***!
- \**********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsGetIteratorMethodJs(module, exports, __webpack_require__) {
- var classof = __webpack_require__(
- /*! ../internals/classof */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof.js");
-
- var Iterators = __webpack_require__(
- /*! ../internals/iterators */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators.js");
-
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var ITERATOR = wellKnownSymbol('iterator');
-
- module.exports = function (it) {
- if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js":
- /*!*********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js ***!
- \*********************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsGlobalJs(module, exports) {
- var check = function check(it) {
- return it && it.Math == Math && it;
- }; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-
-
- module.exports = // eslint-disable-next-line no-undef
- check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || // eslint-disable-next-line no-new-func
- Function('return this')();
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js":
- /*!******************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js ***!
- \******************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsHasJs(module, exports) {
- var hasOwnProperty = {}.hasOwnProperty;
-
- module.exports = function (it, key) {
- return hasOwnProperty.call(it, key);
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/hidden-keys.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/hidden-keys.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsHiddenKeysJs(module, exports) {
- module.exports = {};
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/host-report-errors.js":
- /*!*********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/host-report-errors.js ***!
- \*********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsHostReportErrorsJs(module, exports, __webpack_require__) {
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- module.exports = function (a, b) {
- var console = global.console;
-
- if (console && console.error) {
- arguments.length === 1 ? console.error(a) : console.error(a, b);
- }
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/html.js":
- /*!*******************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/html.js ***!
- \*******************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsHtmlJs(module, exports, __webpack_require__) {
- var getBuiltIn = __webpack_require__(
- /*! ../internals/get-built-in */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js");
-
- module.exports = getBuiltIn('document', 'documentElement');
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/ie8-dom-define.js":
- /*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/ie8-dom-define.js ***!
- \*****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsIe8DomDefineJs(module, exports, __webpack_require__) {
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var createElement = __webpack_require__(
- /*! ../internals/document-create-element */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/document-create-element.js"); // Thank's IE8 for his funny defineProperty
-
-
- module.exports = !DESCRIPTORS && !fails(function () {
- return Object.defineProperty(createElement('div'), 'a', {
- get: function get() {
- return 7;
- }
- }).a != 7;
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/indexed-object.js":
- /*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/indexed-object.js ***!
- \*****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsIndexedObjectJs(module, exports, __webpack_require__) {
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var classof = __webpack_require__(
- /*! ../internals/classof-raw */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js");
-
- var split = ''.split; // fallback for non-array-like ES3 and non-enumerable old V8 strings
-
- module.exports = fails(function () {
- // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
- // eslint-disable-next-line no-prototype-builtins
- return !Object('z').propertyIsEnumerable(0);
- }) ? function (it) {
- return classof(it) == 'String' ? split.call(it, '') : Object(it);
- } : Object;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inherit-if-required.js":
- /*!**********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inherit-if-required.js ***!
- \**********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsInheritIfRequiredJs(module, exports, __webpack_require__) {
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var setPrototypeOf = __webpack_require__(
- /*! ../internals/object-set-prototype-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-set-prototype-of.js"); // makes subclassing work correct for wrapped built-ins
-
-
- module.exports = function ($this, dummy, Wrapper) {
- var NewTarget, NewTargetPrototype;
- if ( // it can work only with native `setPrototypeOf`
- setPrototypeOf && // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
- typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype) setPrototypeOf($this, NewTargetPrototype);
- return $this;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inspect-source.js":
- /*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inspect-source.js ***!
- \*****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsInspectSourceJs(module, exports, __webpack_require__) {
- var store = __webpack_require__(
- /*! ../internals/shared-store */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-store.js");
-
- var functionToString = Function.toString; // this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-
- if (typeof store.inspectSource != 'function') {
- store.inspectSource = function (it) {
- return functionToString.call(it);
- };
- }
-
- module.exports = store.inspectSource;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsInternalMetadataJs(module, exports, __webpack_require__) {
- var hiddenKeys = __webpack_require__(
- /*! ../internals/hidden-keys */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/hidden-keys.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var has = __webpack_require__(
- /*! ../internals/has */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-
- var defineProperty = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js").f;
-
- var uid = __webpack_require__(
- /*! ../internals/uid */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/uid.js");
-
- var FREEZING = __webpack_require__(
- /*! ../internals/freezing */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/freezing.js");
-
- var METADATA = uid('meta');
- var id = 0;
-
- var isExtensible = Object.isExtensible || function () {
- return true;
- };
-
- var setMetadata = function setMetadata(it) {
- defineProperty(it, METADATA, {
- value: {
- objectID: 'O' + ++id,
- // object ID
- weakData: {} // weak collections IDs
-
- }
- });
- };
-
- var fastKey = function fastKey(it, create) {
- // return a primitive with prefix
- if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
-
- if (!has(it, METADATA)) {
- // can't set metadata to uncaught frozen object
- if (!isExtensible(it)) return 'F'; // not necessary to add metadata
-
- if (!create) return 'E'; // add missing metadata
-
- setMetadata(it); // return object ID
- }
-
- return it[METADATA].objectID;
- };
-
- var getWeakData = function getWeakData(it, create) {
- if (!has(it, METADATA)) {
- // can't set metadata to uncaught frozen object
- if (!isExtensible(it)) return true; // not necessary to add metadata
-
- if (!create) return false; // add missing metadata
-
- setMetadata(it); // return the store of weak collections IDs
- }
-
- return it[METADATA].weakData;
- }; // add metadata on freeze-family methods calling
-
-
- var onFreeze = function onFreeze(it) {
- if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);
- return it;
- };
-
- var meta = module.exports = {
- REQUIRED: false,
- fastKey: fastKey,
- getWeakData: getWeakData,
- onFreeze: onFreeze
- };
- hiddenKeys[METADATA] = true;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js":
- /*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js ***!
- \*****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsInternalStateJs(module, exports, __webpack_require__) {
- var NATIVE_WEAK_MAP = __webpack_require__(
- /*! ../internals/native-weak-map */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-weak-map.js");
-
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var createNonEnumerableProperty = __webpack_require__(
- /*! ../internals/create-non-enumerable-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js");
-
- var objectHas = __webpack_require__(
- /*! ../internals/has */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-
- var sharedKey = __webpack_require__(
- /*! ../internals/shared-key */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-key.js");
-
- var hiddenKeys = __webpack_require__(
- /*! ../internals/hidden-keys */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/hidden-keys.js");
-
- var WeakMap = global.WeakMap;
- var set, get, has;
-
- var enforce = function enforce(it) {
- return has(it) ? get(it) : set(it, {});
- };
-
- var getterFor = function getterFor(TYPE) {
- return function (it) {
- var state;
-
- if (!isObject(it) || (state = get(it)).type !== TYPE) {
- throw TypeError('Incompatible receiver, ' + TYPE + ' required');
- }
-
- return state;
- };
- };
-
- if (NATIVE_WEAK_MAP) {
- var store = new WeakMap();
- var wmget = store.get;
- var wmhas = store.has;
- var wmset = store.set;
-
- set = function set(it, metadata) {
- wmset.call(store, it, metadata);
- return metadata;
- };
-
- get = function get(it) {
- return wmget.call(store, it) || {};
- };
-
- has = function has(it) {
- return wmhas.call(store, it);
- };
- } else {
- var STATE = sharedKey('state');
- hiddenKeys[STATE] = true;
-
- set = function set(it, metadata) {
- createNonEnumerableProperty(it, STATE, metadata);
- return metadata;
- };
-
- get = function get(it) {
- return objectHas(it, STATE) ? it[STATE] : {};
- };
-
- has = function has(it) {
- return objectHas(it, STATE);
- };
- }
-
- module.exports = {
- set: set,
- get: get,
- has: has,
- enforce: enforce,
- getterFor: getterFor
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array-iterator-method.js":
- /*!***************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array-iterator-method.js ***!
- \***************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsIsArrayIteratorMethodJs(module, exports, __webpack_require__) {
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var Iterators = __webpack_require__(
- /*! ../internals/iterators */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators.js");
-
- var ITERATOR = wellKnownSymbol('iterator');
- var ArrayPrototype = Array.prototype; // check on default Array iterator
-
- module.exports = function (it) {
- return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array.js":
- /*!***********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array.js ***!
- \***********************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsIsArrayJs(module, exports, __webpack_require__) {
- var classof = __webpack_require__(
- /*! ../internals/classof-raw */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js"); // `IsArray` abstract operation
- // https://tc39.github.io/ecma262/#sec-isarray
-
-
- module.exports = Array.isArray || function isArray(arg) {
- return classof(arg) == 'Array';
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-forced.js":
- /*!************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-forced.js ***!
- \************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsIsForcedJs(module, exports, __webpack_require__) {
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var replacement = /#|\.prototype\./;
-
- var isForced = function isForced(feature, detection) {
- var value = data[normalize(feature)];
- return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;
- };
-
- var normalize = isForced.normalize = function (string) {
- return String(string).replace(replacement, '.').toLowerCase();
- };
-
- var data = isForced.data = {};
- var NATIVE = isForced.NATIVE = 'N';
- var POLYFILL = isForced.POLYFILL = 'P';
- module.exports = isForced;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-integer.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-integer.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsIsIntegerJs(module, exports, __webpack_require__) {
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var floor = Math.floor; // `Number.isInteger` method implementation
- // https://tc39.github.io/ecma262/#sec-number.isinteger
-
- module.exports = function isInteger(it) {
- return !isObject(it) && isFinite(it) && floor(it) === it;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js":
- /*!************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js ***!
- \************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsIsObjectJs(module, exports) {
- module.exports = function (it) {
- return typeof it === 'object' ? it !== null : typeof it === 'function';
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-pure.js":
- /*!**********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-pure.js ***!
- \**********************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsIsPureJs(module, exports) {
- module.exports = false;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-regexp.js":
- /*!************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-regexp.js ***!
- \************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsIsRegexpJs(module, exports, __webpack_require__) {
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var classof = __webpack_require__(
- /*! ../internals/classof-raw */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js");
-
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var MATCH = wellKnownSymbol('match'); // `IsRegExp` abstract operation
- // https://tc39.github.io/ecma262/#sec-isregexp
-
- module.exports = function (it) {
- var isRegExp;
- return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterate.js":
- /*!**********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterate.js ***!
- \**********************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsIterateJs(module, exports, __webpack_require__) {
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var isArrayIteratorMethod = __webpack_require__(
- /*! ../internals/is-array-iterator-method */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array-iterator-method.js");
-
- var toLength = __webpack_require__(
- /*! ../internals/to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js");
-
- var bind = __webpack_require__(
- /*! ../internals/function-bind-context */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind-context.js");
-
- var getIteratorMethod = __webpack_require__(
- /*! ../internals/get-iterator-method */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-iterator-method.js");
-
- var callWithSafeIterationClosing = __webpack_require__(
- /*! ../internals/call-with-safe-iteration-closing */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/call-with-safe-iteration-closing.js");
-
- var Result = function Result(stopped, result) {
- this.stopped = stopped;
- this.result = result;
- };
-
- var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {
- var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);
- var iterator, iterFn, index, length, result, next, step;
-
- if (IS_ITERATOR) {
- iterator = iterable;
- } else {
- iterFn = getIteratorMethod(iterable);
- if (typeof iterFn != 'function') throw TypeError('Target is not iterable'); // optimisation for array iterators
-
- if (isArrayIteratorMethod(iterFn)) {
- for (index = 0, length = toLength(iterable.length); length > index; index++) {
- result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);
- if (result && result instanceof Result) return result;
- }
-
- return new Result(false);
- }
-
- iterator = iterFn.call(iterable);
- }
-
- next = iterator.next;
-
- while (!(step = next.call(iterator)).done) {
- result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);
- if (typeof result == 'object' && result && result instanceof Result) return result;
- }
-
- return new Result(false);
- };
-
- iterate.stop = function (result) {
- return new Result(true, result);
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators-core.js":
- /*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators-core.js ***!
- \*****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsIteratorsCoreJs(module, exports, __webpack_require__) {
- "use strict";
-
- var getPrototypeOf = __webpack_require__(
- /*! ../internals/object-get-prototype-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js");
-
- var createNonEnumerableProperty = __webpack_require__(
- /*! ../internals/create-non-enumerable-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js");
-
- var has = __webpack_require__(
- /*! ../internals/has */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var IS_PURE = __webpack_require__(
- /*! ../internals/is-pure */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-pure.js");
-
- var ITERATOR = wellKnownSymbol('iterator');
- var BUGGY_SAFARI_ITERATORS = false;
-
- var returnThis = function returnThis() {
- return this;
- }; // `%IteratorPrototype%` object
- // https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object
-
-
- var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
-
- if ([].keys) {
- arrayIterator = [].keys(); // Safari 8 has buggy iterators w/o `next`
-
- if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;else {
- PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
- if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
- }
- }
-
- if (IteratorPrototype == undefined) IteratorPrototype = {}; // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
-
- if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {
- createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
- }
-
- module.exports = {
- IteratorPrototype: IteratorPrototype,
- BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators.js":
- /*!************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators.js ***!
- \************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsIteratorsJs(module, exports) {
- module.exports = {};
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-expm1.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-expm1.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsMathExpm1Js(module, exports) {
- var nativeExpm1 = Math.expm1;
- var exp = Math.exp; // `Math.expm1` method implementation
- // https://tc39.github.io/ecma262/#sec-math.expm1
-
- module.exports = !nativeExpm1 // Old FF bug
- || nativeExpm1(10) > 22025.465794806719 || nativeExpm1(10) < 22025.4657948067165168 // Tor Browser bug
- || nativeExpm1(-2e-17) != -2e-17 ? function expm1(x) {
- return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp(x) - 1;
- } : nativeExpm1;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-fround.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-fround.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsMathFroundJs(module, exports, __webpack_require__) {
- var sign = __webpack_require__(
- /*! ../internals/math-sign */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-sign.js");
-
- var abs = Math.abs;
- var pow = Math.pow;
- var EPSILON = pow(2, -52);
- var EPSILON32 = pow(2, -23);
- var MAX32 = pow(2, 127) * (2 - EPSILON32);
- var MIN32 = pow(2, -126);
-
- var roundTiesToEven = function roundTiesToEven(n) {
- return n + 1 / EPSILON - 1 / EPSILON;
- }; // `Math.fround` method implementation
- // https://tc39.github.io/ecma262/#sec-math.fround
-
-
- module.exports = Math.fround || function fround(x) {
- var $abs = abs(x);
- var $sign = sign(x);
- var a, result;
- if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
- a = (1 + EPSILON32 / EPSILON) * $abs;
- result = a - (a - $abs); // eslint-disable-next-line no-self-compare
-
- if (result > MAX32 || result != result) return $sign * Infinity;
- return $sign * result;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-log1p.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-log1p.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsMathLog1pJs(module, exports) {
- var log = Math.log; // `Math.log1p` method implementation
- // https://tc39.github.io/ecma262/#sec-math.log1p
-
- module.exports = Math.log1p || function log1p(x) {
- return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log(1 + x);
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-sign.js":
- /*!************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-sign.js ***!
- \************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsMathSignJs(module, exports) {
- // `Math.sign` method implementation
- // https://tc39.github.io/ecma262/#sec-math.sign
- module.exports = Math.sign || function sign(x) {
- // eslint-disable-next-line no-self-compare
- return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/microtask.js":
- /*!************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/microtask.js ***!
- \************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsMicrotaskJs(module, exports, __webpack_require__) {
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var getOwnPropertyDescriptor = __webpack_require__(
- /*! ../internals/object-get-own-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
-
- var classof = __webpack_require__(
- /*! ../internals/classof-raw */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js");
-
- var macrotask = __webpack_require__(
- /*! ../internals/task */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/task.js").set;
-
- var IS_IOS = __webpack_require__(
- /*! ../internals/engine-is-ios */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-is-ios.js");
-
- var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
- var process = global.process;
- var Promise = global.Promise;
- var IS_NODE = classof(process) == 'process'; // Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`
-
- var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
- var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
- var flush, head, last, notify, toggle, node, promise, then; // modern engines have queueMicrotask method
-
- if (!queueMicrotask) {
- flush = function flush() {
- var parent, fn;
- if (IS_NODE && (parent = process.domain)) parent.exit();
-
- while (head) {
- fn = head.fn;
- head = head.next;
-
- try {
- fn();
- } catch (error) {
- if (head) notify();else last = undefined;
- throw error;
- }
- }
-
- last = undefined;
- if (parent) parent.enter();
- }; // Node.js
-
-
- if (IS_NODE) {
- notify = function notify() {
- process.nextTick(flush);
- }; // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339
-
- } else if (MutationObserver && !IS_IOS) {
- toggle = true;
- node = document.createTextNode('');
- new MutationObserver(flush).observe(node, {
- characterData: true
- });
-
- notify = function notify() {
- node.data = toggle = !toggle;
- }; // environments with maybe non-completely correct, but existent Promise
-
- } else if (Promise && Promise.resolve) {
- // Promise.resolve without an argument throws an error in LG WebOS 2
- promise = Promise.resolve(undefined);
- then = promise.then;
-
- notify = function notify() {
- then.call(promise, flush);
- }; // for other environments - macrotask based on:
- // - setImmediate
- // - MessageChannel
- // - window.postMessag
- // - onreadystatechange
- // - setTimeout
-
- } else {
- notify = function notify() {
- // strange IE + webpack dev server bug - use .call(global)
- macrotask.call(global, flush);
- };
- }
- }
-
- module.exports = queueMicrotask || function (fn) {
- var task = {
- fn: fn,
- next: undefined
- };
- if (last) last.next = task;
-
- if (!head) {
- head = task;
- notify();
- }
-
- last = task;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-promise-constructor.js":
- /*!*****************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-promise-constructor.js ***!
- \*****************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsNativePromiseConstructorJs(module, exports, __webpack_require__) {
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- module.exports = global.Promise;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-symbol.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-symbol.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsNativeSymbolJs(module, exports, __webpack_require__) {
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
- // Chrome 38 Symbol has incorrect toString conversion
- // eslint-disable-next-line no-undef
- return !String(Symbol());
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-weak-map.js":
- /*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-weak-map.js ***!
- \******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsNativeWeakMapJs(module, exports, __webpack_require__) {
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var inspectSource = __webpack_require__(
- /*! ../internals/inspect-source */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inspect-source.js");
-
- var WeakMap = global.WeakMap;
- module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/new-promise-capability.js":
- /*!*************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/new-promise-capability.js ***!
- \*************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsNewPromiseCapabilityJs(module, exports, __webpack_require__) {
- "use strict";
-
- var aFunction = __webpack_require__(
- /*! ../internals/a-function */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-function.js");
-
- var PromiseCapability = function PromiseCapability(C) {
- var resolve, reject;
- this.promise = new C(function ($$resolve, $$reject) {
- if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
- resolve = $$resolve;
- reject = $$reject;
- });
- this.resolve = aFunction(resolve);
- this.reject = aFunction(reject);
- }; // 25.4.1.5 NewPromiseCapability(C)
-
-
- module.exports.f = function (C) {
- return new PromiseCapability(C);
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/not-a-regexp.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/not-a-regexp.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsNotARegexpJs(module, exports, __webpack_require__) {
- var isRegExp = __webpack_require__(
- /*! ../internals/is-regexp */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-regexp.js");
-
- module.exports = function (it) {
- if (isRegExp(it)) {
- throw TypeError("The method doesn't accept regular expressions");
- }
-
- return it;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/number-is-finite.js":
- /*!*******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/number-is-finite.js ***!
- \*******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsNumberIsFiniteJs(module, exports, __webpack_require__) {
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var globalIsFinite = global.isFinite; // `Number.isFinite` method
- // https://tc39.github.io/ecma262/#sec-number.isfinite
-
- module.exports = Number.isFinite || function isFinite(it) {
- return typeof it == 'number' && globalIsFinite(it);
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/number-parse-float.js":
- /*!*********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/number-parse-float.js ***!
- \*********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsNumberParseFloatJs(module, exports, __webpack_require__) {
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var trim = __webpack_require__(
- /*! ../internals/string-trim */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-trim.js").trim;
-
- var whitespaces = __webpack_require__(
- /*! ../internals/whitespaces */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/whitespaces.js");
-
- var $parseFloat = global.parseFloat;
- var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity; // `parseFloat` method
- // https://tc39.github.io/ecma262/#sec-parsefloat-string
-
- module.exports = FORCED ? function parseFloat(string) {
- var trimmedString = trim(String(string));
- var result = $parseFloat(trimmedString);
- return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;
- } : $parseFloat;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/number-parse-int.js":
- /*!*******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/number-parse-int.js ***!
- \*******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsNumberParseIntJs(module, exports, __webpack_require__) {
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var trim = __webpack_require__(
- /*! ../internals/string-trim */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-trim.js").trim;
-
- var whitespaces = __webpack_require__(
- /*! ../internals/whitespaces */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/whitespaces.js");
-
- var $parseInt = global.parseInt;
- var hex = /^[+-]?0[Xx]/;
- var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22; // `parseInt` method
- // https://tc39.github.io/ecma262/#sec-parseint-string-radix
-
- module.exports = FORCED ? function parseInt(string, radix) {
- var S = trim(String(string));
- return $parseInt(S, radix >>> 0 || (hex.test(S) ? 16 : 10));
- } : $parseInt;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-assign.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-assign.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsObjectAssignJs(module, exports, __webpack_require__) {
- "use strict";
-
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var objectKeys = __webpack_require__(
- /*! ../internals/object-keys */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys.js");
-
- var getOwnPropertySymbolsModule = __webpack_require__(
- /*! ../internals/object-get-own-property-symbols */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-symbols.js");
-
- var propertyIsEnumerableModule = __webpack_require__(
- /*! ../internals/object-property-is-enumerable */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-property-is-enumerable.js");
-
- var toObject = __webpack_require__(
- /*! ../internals/to-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js");
-
- var IndexedObject = __webpack_require__(
- /*! ../internals/indexed-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/indexed-object.js");
-
- var nativeAssign = Object.assign;
- var defineProperty = Object.defineProperty; // `Object.assign` method
- // https://tc39.github.io/ecma262/#sec-object.assign
-
- module.exports = !nativeAssign || fails(function () {
- // should have correct order of operations (Edge bug)
- if (DESCRIPTORS && nativeAssign({
- b: 1
- }, nativeAssign(defineProperty({}, 'a', {
- enumerable: true,
- get: function get() {
- defineProperty(this, 'b', {
- value: 3,
- enumerable: false
- });
- }
- }), {
- b: 2
- })).b !== 1) return true; // should work with symbols and should have deterministic property order (V8 bug)
-
- var A = {};
- var B = {}; // eslint-disable-next-line no-undef
-
- var symbol = Symbol();
- var alphabet = 'abcdefghijklmnopqrst';
- A[symbol] = 7;
- alphabet.split('').forEach(function (chr) {
- B[chr] = chr;
- });
- return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
- }) ? function assign(target, source) {
- // eslint-disable-line no-unused-vars
- var T = toObject(target);
- var argumentsLength = arguments.length;
- var index = 1;
- var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
- var propertyIsEnumerable = propertyIsEnumerableModule.f;
-
- while (argumentsLength > index) {
- var S = IndexedObject(arguments[index++]);
- var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
- var length = keys.length;
- var j = 0;
- var key;
-
- while (length > j) {
- key = keys[j++];
- if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];
- }
- }
-
- return T;
- } : nativeAssign;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-create.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-create.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsObjectCreateJs(module, exports, __webpack_require__) {
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var defineProperties = __webpack_require__(
- /*! ../internals/object-define-properties */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-properties.js");
-
- var enumBugKeys = __webpack_require__(
- /*! ../internals/enum-bug-keys */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/enum-bug-keys.js");
-
- var hiddenKeys = __webpack_require__(
- /*! ../internals/hidden-keys */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/hidden-keys.js");
-
- var html = __webpack_require__(
- /*! ../internals/html */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/html.js");
-
- var documentCreateElement = __webpack_require__(
- /*! ../internals/document-create-element */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/document-create-element.js");
-
- var sharedKey = __webpack_require__(
- /*! ../internals/shared-key */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-key.js");
-
- var GT = '>';
- var LT = '<';
- var PROTOTYPE = 'prototype';
- var SCRIPT = 'script';
- var IE_PROTO = sharedKey('IE_PROTO');
-
- var EmptyConstructor = function EmptyConstructor() {
- /* empty */
- };
-
- var scriptTag = function scriptTag(content) {
- return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
- }; // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-
-
- var NullProtoObjectViaActiveX = function NullProtoObjectViaActiveX(activeXDocument) {
- activeXDocument.write(scriptTag(''));
- activeXDocument.close();
- var temp = activeXDocument.parentWindow.Object;
- activeXDocument = null; // avoid memory leak
-
- return temp;
- }; // Create object with fake `null` prototype: use iframe Object with cleared prototype
-
-
- var NullProtoObjectViaIFrame = function NullProtoObjectViaIFrame() {
- // Thrash, waste and sodomy: IE GC bug
- var iframe = documentCreateElement('iframe');
- var JS = 'java' + SCRIPT + ':';
- var iframeDocument;
- iframe.style.display = 'none';
- html.appendChild(iframe); // https://github.com/zloirock/core-js/issues/475
-
- iframe.src = String(JS);
- iframeDocument = iframe.contentWindow.document;
- iframeDocument.open();
- iframeDocument.write(scriptTag('document.F=Object'));
- iframeDocument.close();
- return iframeDocument.F;
- }; // Check for document.domain and active x support
- // No need to use active x approach when document.domain is not set
- // see https://github.com/es-shims/es5-shim/issues/150
- // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
- // avoid IE GC bug
-
-
- var activeXDocument;
-
- var _NullProtoObject = function NullProtoObject() {
- try {
- /* global ActiveXObject */
- activeXDocument = document.domain && new ActiveXObject('htmlfile');
- } catch (error) {
- /* ignore */
- }
-
- _NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
- var length = enumBugKeys.length;
-
- while (length--) {
- delete _NullProtoObject[PROTOTYPE][enumBugKeys[length]];
- }
-
- return _NullProtoObject();
- };
-
- hiddenKeys[IE_PROTO] = true; // `Object.create` method
- // https://tc39.github.io/ecma262/#sec-object.create
-
- module.exports = Object.create || function create(O, Properties) {
- var result;
-
- if (O !== null) {
- EmptyConstructor[PROTOTYPE] = anObject(O);
- result = new EmptyConstructor();
- EmptyConstructor[PROTOTYPE] = null; // add "__proto__" for Object.getPrototypeOf polyfill
-
- result[IE_PROTO] = O;
- } else result = _NullProtoObject();
-
- return Properties === undefined ? result : defineProperties(result, Properties);
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-properties.js":
- /*!***************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-properties.js ***!
- \***************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsObjectDefinePropertiesJs(module, exports, __webpack_require__) {
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var definePropertyModule = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var objectKeys = __webpack_require__(
- /*! ../internals/object-keys */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys.js"); // `Object.defineProperties` method
- // https://tc39.github.io/ecma262/#sec-object.defineproperties
-
-
- module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
- anObject(O);
- var keys = objectKeys(Properties);
- var length = keys.length;
- var index = 0;
- var key;
-
- while (length > index) {
- definePropertyModule.f(O, key = keys[index++], Properties[key]);
- }
-
- return O;
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js":
- /*!*************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js ***!
- \*************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsObjectDefinePropertyJs(module, exports, __webpack_require__) {
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var IE8_DOM_DEFINE = __webpack_require__(
- /*! ../internals/ie8-dom-define */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/ie8-dom-define.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var toPrimitive = __webpack_require__(
- /*! ../internals/to-primitive */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-primitive.js");
-
- var nativeDefineProperty = Object.defineProperty; // `Object.defineProperty` method
- // https://tc39.github.io/ecma262/#sec-object.defineproperty
-
- exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
- anObject(O);
- P = toPrimitive(P, true);
- anObject(Attributes);
- if (IE8_DOM_DEFINE) try {
- return nativeDefineProperty(O, P, Attributes);
- } catch (error) {
- /* empty */
- }
- if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
- if ('value' in Attributes) O[P] = Attributes.value;
- return O;
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js":
- /*!*************************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js ***!
- \*************************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsObjectGetOwnPropertyDescriptorJs(module, exports, __webpack_require__) {
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var propertyIsEnumerableModule = __webpack_require__(
- /*! ../internals/object-property-is-enumerable */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-property-is-enumerable.js");
-
- var createPropertyDescriptor = __webpack_require__(
- /*! ../internals/create-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property-descriptor.js");
-
- var toIndexedObject = __webpack_require__(
- /*! ../internals/to-indexed-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js");
-
- var toPrimitive = __webpack_require__(
- /*! ../internals/to-primitive */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-primitive.js");
-
- var has = __webpack_require__(
- /*! ../internals/has */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-
- var IE8_DOM_DEFINE = __webpack_require__(
- /*! ../internals/ie8-dom-define */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/ie8-dom-define.js");
-
- var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method
- // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-
- exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
- O = toIndexedObject(O);
- P = toPrimitive(P, true);
- if (IE8_DOM_DEFINE) try {
- return nativeGetOwnPropertyDescriptor(O, P);
- } catch (error) {
- /* empty */
- }
- if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names-external.js":
- /*!*****************************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names-external.js ***!
- \*****************************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsObjectGetOwnPropertyNamesExternalJs(module, exports, __webpack_require__) {
- var toIndexedObject = __webpack_require__(
- /*! ../internals/to-indexed-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js");
-
- var nativeGetOwnPropertyNames = __webpack_require__(
- /*! ../internals/object-get-own-property-names */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names.js").f;
-
- var toString = {}.toString;
- var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
-
- var getWindowNames = function getWindowNames(it) {
- try {
- return nativeGetOwnPropertyNames(it);
- } catch (error) {
- return windowNames.slice();
- }
- }; // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
-
-
- module.exports.f = function getOwnPropertyNames(it) {
- return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names.js":
- /*!********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names.js ***!
- \********************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsObjectGetOwnPropertyNamesJs(module, exports, __webpack_require__) {
- var internalObjectKeys = __webpack_require__(
- /*! ../internals/object-keys-internal */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys-internal.js");
-
- var enumBugKeys = __webpack_require__(
- /*! ../internals/enum-bug-keys */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/enum-bug-keys.js");
-
- var hiddenKeys = enumBugKeys.concat('length', 'prototype'); // `Object.getOwnPropertyNames` method
- // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-
- exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
- return internalObjectKeys(O, hiddenKeys);
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-symbols.js":
- /*!**********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-symbols.js ***!
- \**********************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsObjectGetOwnPropertySymbolsJs(module, exports) {
- exports.f = Object.getOwnPropertySymbols;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js":
- /*!**************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js ***!
- \**************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsObjectGetPrototypeOfJs(module, exports, __webpack_require__) {
- var has = __webpack_require__(
- /*! ../internals/has */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-
- var toObject = __webpack_require__(
- /*! ../internals/to-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js");
-
- var sharedKey = __webpack_require__(
- /*! ../internals/shared-key */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-key.js");
-
- var CORRECT_PROTOTYPE_GETTER = __webpack_require__(
- /*! ../internals/correct-prototype-getter */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-prototype-getter.js");
-
- var IE_PROTO = sharedKey('IE_PROTO');
- var ObjectPrototype = Object.prototype; // `Object.getPrototypeOf` method
- // https://tc39.github.io/ecma262/#sec-object.getprototypeof
-
- module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
- O = toObject(O);
- if (has(O, IE_PROTO)) return O[IE_PROTO];
-
- if (typeof O.constructor == 'function' && O instanceof O.constructor) {
- return O.constructor.prototype;
- }
-
- return O instanceof Object ? ObjectPrototype : null;
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys-internal.js":
- /*!***********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys-internal.js ***!
- \***********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsObjectKeysInternalJs(module, exports, __webpack_require__) {
- var has = __webpack_require__(
- /*! ../internals/has */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-
- var toIndexedObject = __webpack_require__(
- /*! ../internals/to-indexed-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js");
-
- var indexOf = __webpack_require__(
- /*! ../internals/array-includes */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-includes.js").indexOf;
-
- var hiddenKeys = __webpack_require__(
- /*! ../internals/hidden-keys */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/hidden-keys.js");
-
- module.exports = function (object, names) {
- var O = toIndexedObject(object);
- var i = 0;
- var result = [];
- var key;
-
- for (key in O) {
- !has(hiddenKeys, key) && has(O, key) && result.push(key);
- } // Don't enum bug & hidden keys
-
-
- while (names.length > i) {
- if (has(O, key = names[i++])) {
- ~indexOf(result, key) || result.push(key);
- }
- }
-
- return result;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsObjectKeysJs(module, exports, __webpack_require__) {
- var internalObjectKeys = __webpack_require__(
- /*! ../internals/object-keys-internal */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys-internal.js");
-
- var enumBugKeys = __webpack_require__(
- /*! ../internals/enum-bug-keys */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/enum-bug-keys.js"); // `Object.keys` method
- // https://tc39.github.io/ecma262/#sec-object.keys
-
-
- module.exports = Object.keys || function keys(O) {
- return internalObjectKeys(O, enumBugKeys);
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-property-is-enumerable.js":
- /*!********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-property-is-enumerable.js ***!
- \********************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsObjectPropertyIsEnumerableJs(module, exports, __webpack_require__) {
- "use strict";
-
- var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
- var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug
-
- var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({
- 1: 2
- }, 1); // `Object.prototype.propertyIsEnumerable` method implementation
- // https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-
- exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
- var descriptor = getOwnPropertyDescriptor(this, V);
- return !!descriptor && descriptor.enumerable;
- } : nativePropertyIsEnumerable;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-set-prototype-of.js":
- /*!**************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-set-prototype-of.js ***!
- \**************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsObjectSetPrototypeOfJs(module, exports, __webpack_require__) {
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var aPossiblePrototype = __webpack_require__(
- /*! ../internals/a-possible-prototype */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-possible-prototype.js"); // `Object.setPrototypeOf` method
- // https://tc39.github.io/ecma262/#sec-object.setprototypeof
- // Works with __proto__ only. Old v8 can't work with null proto objects.
-
- /* eslint-disable no-proto */
-
-
- module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
- var CORRECT_SETTER = false;
- var test = {};
- var setter;
-
- try {
- setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
- setter.call(test, []);
- CORRECT_SETTER = test instanceof Array;
- } catch (error) {
- /* empty */
- }
-
- return function setPrototypeOf(O, proto) {
- anObject(O);
- aPossiblePrototype(proto);
- if (CORRECT_SETTER) setter.call(O, proto);else O.__proto__ = proto;
- return O;
- };
- }() : undefined);
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-to-string.js":
- /*!*******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-to-string.js ***!
- \*******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsObjectToStringJs(module, exports, __webpack_require__) {
- "use strict";
-
- var TO_STRING_TAG_SUPPORT = __webpack_require__(
- /*! ../internals/to-string-tag-support */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-string-tag-support.js");
-
- var classof = __webpack_require__(
- /*! ../internals/classof */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof.js"); // `Object.prototype.toString` method implementation
- // https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-
-
- module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
- return '[object ' + classof(this) + ']';
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/own-keys.js":
- /*!***********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/own-keys.js ***!
- \***********************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsOwnKeysJs(module, exports, __webpack_require__) {
- var getBuiltIn = __webpack_require__(
- /*! ../internals/get-built-in */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js");
-
- var getOwnPropertyNamesModule = __webpack_require__(
- /*! ../internals/object-get-own-property-names */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names.js");
-
- var getOwnPropertySymbolsModule = __webpack_require__(
- /*! ../internals/object-get-own-property-symbols */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-symbols.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js"); // all object keys, includes non-enumerable and symbols
-
-
- module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
- var keys = getOwnPropertyNamesModule.f(anObject(it));
- var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
- return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/path.js":
- /*!*******************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/path.js ***!
- \*******************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsPathJs(module, exports, __webpack_require__) {
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- module.exports = global;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/perform.js":
- /*!**********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/perform.js ***!
- \**********************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsPerformJs(module, exports) {
- module.exports = function (exec) {
- try {
- return {
- error: false,
- value: exec()
- };
- } catch (error) {
- return {
- error: true,
- value: error
- };
- }
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/promise-resolve.js":
- /*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/promise-resolve.js ***!
- \******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsPromiseResolveJs(module, exports, __webpack_require__) {
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var newPromiseCapability = __webpack_require__(
- /*! ../internals/new-promise-capability */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/new-promise-capability.js");
-
- module.exports = function (C, x) {
- anObject(C);
- if (isObject(x) && x.constructor === C) return x;
- var promiseCapability = newPromiseCapability.f(C);
- var resolve = promiseCapability.resolve;
- resolve(x);
- return promiseCapability.promise;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine-all.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine-all.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsRedefineAllJs(module, exports, __webpack_require__) {
- var redefine = __webpack_require__(
- /*! ../internals/redefine */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js");
-
- module.exports = function (target, src, options) {
- for (var key in src) {
- redefine(target, key, src[key], options);
- }
-
- return target;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js":
- /*!***********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js ***!
- \***********************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsRedefineJs(module, exports, __webpack_require__) {
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var createNonEnumerableProperty = __webpack_require__(
- /*! ../internals/create-non-enumerable-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js");
-
- var has = __webpack_require__(
- /*! ../internals/has */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-
- var setGlobal = __webpack_require__(
- /*! ../internals/set-global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-global.js");
-
- var inspectSource = __webpack_require__(
- /*! ../internals/inspect-source */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inspect-source.js");
-
- var InternalStateModule = __webpack_require__(
- /*! ../internals/internal-state */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js");
-
- var getInternalState = InternalStateModule.get;
- var enforceInternalState = InternalStateModule.enforce;
- var TEMPLATE = String(String).split('String');
- (module.exports = function (O, key, value, options) {
- var unsafe = options ? !!options.unsafe : false;
- var simple = options ? !!options.enumerable : false;
- var noTargetGet = options ? !!options.noTargetGet : false;
-
- if (typeof value == 'function') {
- if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
- enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
- }
-
- if (O === global) {
- if (simple) O[key] = value;else setGlobal(key, value);
- return;
- } else if (!unsafe) {
- delete O[key];
- } else if (!noTargetGet && O[key]) {
- simple = true;
- }
-
- if (simple) O[key] = value;else createNonEnumerableProperty(O, key, value); // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
- })(Function.prototype, 'toString', function toString() {
- return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js":
- /*!*******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js ***!
- \*******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsReflectMetadataJs(module, exports, __webpack_require__) {
- // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
- var Map = __webpack_require__(
- /*! ../modules/es.map */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.map.js");
-
- var WeakMap = __webpack_require__(
- /*! ../modules/es.weak-map */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.weak-map.js");
-
- var shared = __webpack_require__(
- /*! ../internals/shared */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared.js");
-
- var metadata = shared('metadata');
- var store = metadata.store || (metadata.store = new WeakMap());
-
- var getOrCreateMetadataMap = function getOrCreateMetadataMap(target, targetKey, create) {
- var targetMetadata = store.get(target);
-
- if (!targetMetadata) {
- if (!create) return;
- store.set(target, targetMetadata = new Map());
- }
-
- var keyMetadata = targetMetadata.get(targetKey);
-
- if (!keyMetadata) {
- if (!create) return;
- targetMetadata.set(targetKey, keyMetadata = new Map());
- }
-
- return keyMetadata;
- };
-
- var ordinaryHasOwnMetadata = function ordinaryHasOwnMetadata(MetadataKey, O, P) {
- var metadataMap = getOrCreateMetadataMap(O, P, false);
- return metadataMap === undefined ? false : metadataMap.has(MetadataKey);
- };
-
- var ordinaryGetOwnMetadata = function ordinaryGetOwnMetadata(MetadataKey, O, P) {
- var metadataMap = getOrCreateMetadataMap(O, P, false);
- return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);
- };
-
- var ordinaryDefineOwnMetadata = function ordinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {
- getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);
- };
-
- var ordinaryOwnMetadataKeys = function ordinaryOwnMetadataKeys(target, targetKey) {
- var metadataMap = getOrCreateMetadataMap(target, targetKey, false);
- var keys = [];
- if (metadataMap) metadataMap.forEach(function (_, key) {
- keys.push(key);
- });
- return keys;
- };
-
- var toMetadataKey = function toMetadataKey(it) {
- return it === undefined || typeof it == 'symbol' ? it : String(it);
- };
-
- module.exports = {
- store: store,
- getMap: getOrCreateMetadataMap,
- has: ordinaryHasOwnMetadata,
- get: ordinaryGetOwnMetadata,
- set: ordinaryDefineOwnMetadata,
- keys: ordinaryOwnMetadataKeys,
- toKey: toMetadataKey
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-exec-abstract.js":
- /*!***********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-exec-abstract.js ***!
- \***********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsRegexpExecAbstractJs(module, exports, __webpack_require__) {
- var classof = __webpack_require__(
- /*! ./classof-raw */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js");
-
- var regexpExec = __webpack_require__(
- /*! ./regexp-exec */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-exec.js"); // `RegExpExec` abstract operation
- // https://tc39.github.io/ecma262/#sec-regexpexec
-
-
- module.exports = function (R, S) {
- var exec = R.exec;
-
- if (typeof exec === 'function') {
- var result = exec.call(R, S);
-
- if (typeof result !== 'object') {
- throw TypeError('RegExp exec method returned something other than an Object or null');
- }
-
- return result;
- }
-
- if (classof(R) !== 'RegExp') {
- throw TypeError('RegExp#exec called on incompatible receiver');
- }
-
- return regexpExec.call(R, S);
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-exec.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-exec.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsRegexpExecJs(module, exports, __webpack_require__) {
- "use strict";
-
- var regexpFlags = __webpack_require__(
- /*! ./regexp-flags */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-flags.js");
-
- var stickyHelpers = __webpack_require__(
- /*! ./regexp-sticky-helpers */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-sticky-helpers.js");
-
- var nativeExec = RegExp.prototype.exec; // This always refers to the native implementation, because the
- // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
- // which loads this file before patching the method.
-
- var nativeReplace = String.prototype.replace;
- var patchedExec = nativeExec;
-
- var UPDATES_LAST_INDEX_WRONG = function () {
- var re1 = /a/;
- var re2 = /b*/g;
- nativeExec.call(re1, 'a');
- nativeExec.call(re2, 'a');
- return re1.lastIndex !== 0 || re2.lastIndex !== 0;
- }();
-
- var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET; // nonparticipating capturing group, copied from es5-shim's String#split patch.
-
- var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
- var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;
-
- if (PATCH) {
- patchedExec = function exec(str) {
- var re = this;
- var lastIndex, reCopy, match, i;
- var sticky = UNSUPPORTED_Y && re.sticky;
- var flags = regexpFlags.call(re);
- var source = re.source;
- var charsAdded = 0;
- var strCopy = str;
-
- if (sticky) {
- flags = flags.replace('y', '');
-
- if (flags.indexOf('g') === -1) {
- flags += 'g';
- }
-
- strCopy = String(str).slice(re.lastIndex); // Support anchored sticky behavior.
-
- if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
- source = '(?: ' + source + ')';
- strCopy = ' ' + strCopy;
- charsAdded++;
- } // ^(? + rx + ) is needed, in combination with some str slicing, to
- // simulate the 'y' flag.
-
-
- reCopy = new RegExp('^(?:' + source + ')', flags);
- }
-
- if (NPCG_INCLUDED) {
- reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
- }
-
- if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
- match = nativeExec.call(sticky ? reCopy : re, strCopy);
-
- if (sticky) {
- if (match) {
- match.input = match.input.slice(charsAdded);
- match[0] = match[0].slice(charsAdded);
- match.index = re.lastIndex;
- re.lastIndex += match[0].length;
- } else re.lastIndex = 0;
- } else if (UPDATES_LAST_INDEX_WRONG && match) {
- re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
- }
-
- if (NPCG_INCLUDED && match && match.length > 1) {
- // Fix browsers whose `exec` methods don't consistently return `undefined`
- // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
- nativeReplace.call(match[0], reCopy, function () {
- for (i = 1; i < arguments.length - 2; i++) {
- if (arguments[i] === undefined) match[i] = undefined;
- }
- });
- }
-
- return match;
- };
- }
-
- module.exports = patchedExec;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-flags.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-flags.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsRegexpFlagsJs(module, exports, __webpack_require__) {
- "use strict";
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js"); // `RegExp.prototype.flags` getter implementation
- // https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
-
-
- module.exports = function () {
- var that = anObject(this);
- var result = '';
- if (that.global) result += 'g';
- if (that.ignoreCase) result += 'i';
- if (that.multiline) result += 'm';
- if (that.dotAll) result += 's';
- if (that.unicode) result += 'u';
- if (that.sticky) result += 'y';
- return result;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-sticky-helpers.js":
- /*!************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-sticky-helpers.js ***!
- \************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsRegexpStickyHelpersJs(module, exports, __webpack_require__) {
- "use strict";
-
- var fails = __webpack_require__(
- /*! ./fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js"); // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
- // so we use an intermediate function.
-
-
- function RE(s, f) {
- return RegExp(s, f);
- }
-
- exports.UNSUPPORTED_Y = fails(function () {
- // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
- var re = RE('a', 'y');
- re.lastIndex = 2;
- return re.exec('abcd') != null;
- });
- exports.BROKEN_CARET = fails(function () {
- // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
- var re = RE('^r', 'gy');
- re.lastIndex = 2;
- return re.exec('str') != null;
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js":
- /*!***************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js ***!
- \***************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsRequireObjectCoercibleJs(module, exports) {
- // `RequireObjectCoercible` abstract operation
- // https://tc39.github.io/ecma262/#sec-requireobjectcoercible
- module.exports = function (it) {
- if (it == undefined) throw TypeError("Can't call method on " + it);
- return it;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/same-value.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/same-value.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsSameValueJs(module, exports) {
- // `SameValue` abstract operation
- // https://tc39.github.io/ecma262/#sec-samevalue
- module.exports = Object.is || function is(x, y) {
- // eslint-disable-next-line no-self-compare
- return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-global.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-global.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsSetGlobalJs(module, exports, __webpack_require__) {
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var createNonEnumerableProperty = __webpack_require__(
- /*! ../internals/create-non-enumerable-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js");
-
- module.exports = function (key, value) {
- try {
- createNonEnumerableProperty(global, key, value);
- } catch (error) {
- global[key] = value;
- }
-
- return value;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-species.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-species.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsSetSpeciesJs(module, exports, __webpack_require__) {
- "use strict";
-
- var getBuiltIn = __webpack_require__(
- /*! ../internals/get-built-in */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js");
-
- var definePropertyModule = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js");
-
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var SPECIES = wellKnownSymbol('species');
-
- module.exports = function (CONSTRUCTOR_NAME) {
- var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
- var defineProperty = definePropertyModule.f;
-
- if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
- defineProperty(Constructor, SPECIES, {
- configurable: true,
- get: function get() {
- return this;
- }
- });
- }
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-to-string-tag.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-to-string-tag.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsSetToStringTagJs(module, exports, __webpack_require__) {
- var defineProperty = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js").f;
-
- var has = __webpack_require__(
- /*! ../internals/has */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-
- module.exports = function (it, TAG, STATIC) {
- if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
- defineProperty(it, TO_STRING_TAG, {
- configurable: true,
- value: TAG
- });
- }
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-key.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-key.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsSharedKeyJs(module, exports, __webpack_require__) {
- var shared = __webpack_require__(
- /*! ../internals/shared */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared.js");
-
- var uid = __webpack_require__(
- /*! ../internals/uid */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/uid.js");
-
- var keys = shared('keys');
-
- module.exports = function (key) {
- return keys[key] || (keys[key] = uid(key));
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-store.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-store.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsSharedStoreJs(module, exports, __webpack_require__) {
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var setGlobal = __webpack_require__(
- /*! ../internals/set-global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-global.js");
-
- var SHARED = '__core-js_shared__';
- var store = global[SHARED] || setGlobal(SHARED, {});
- module.exports = store;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared.js":
- /*!*********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared.js ***!
- \*********************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsSharedJs(module, exports, __webpack_require__) {
- var IS_PURE = __webpack_require__(
- /*! ../internals/is-pure */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-pure.js");
-
- var store = __webpack_require__(
- /*! ../internals/shared-store */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-store.js");
-
- (module.exports = function (key, value) {
- return store[key] || (store[key] = value !== undefined ? value : {});
- })('versions', []).push({
- version: '3.6.4',
- mode: IS_PURE ? 'pure' : 'global',
- copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/species-constructor.js":
- /*!**********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/species-constructor.js ***!
- \**********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsSpeciesConstructorJs(module, exports, __webpack_require__) {
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var aFunction = __webpack_require__(
- /*! ../internals/a-function */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-function.js");
-
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var SPECIES = wellKnownSymbol('species'); // `SpeciesConstructor` abstract operation
- // https://tc39.github.io/ecma262/#sec-speciesconstructor
-
- module.exports = function (O, defaultConstructor) {
- var C = anObject(O).constructor;
- var S;
- return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-html-forced.js":
- /*!*********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-html-forced.js ***!
- \*********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsStringHtmlForcedJs(module, exports, __webpack_require__) {
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js"); // check the existence of a method, lowercase
- // of a tag and escaping quotes in arguments
-
-
- module.exports = function (METHOD_NAME) {
- return fails(function () {
- var test = ''[METHOD_NAME]('"');
- return test !== test.toLowerCase() || test.split('"').length > 3;
- });
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-multibyte.js":
- /*!*******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-multibyte.js ***!
- \*******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsStringMultibyteJs(module, exports, __webpack_require__) {
- var toInteger = __webpack_require__(
- /*! ../internals/to-integer */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-integer.js");
-
- var requireObjectCoercible = __webpack_require__(
- /*! ../internals/require-object-coercible */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js"); // `String.prototype.{ codePointAt, at }` methods implementation
-
-
- var createMethod = function createMethod(CONVERT_TO_STRING) {
- return function ($this, pos) {
- var S = String(requireObjectCoercible($this));
- var position = toInteger(pos);
- var size = S.length;
- var first, second;
- if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
- first = S.charCodeAt(position);
- return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
- };
- };
-
- module.exports = {
- // `String.prototype.codePointAt` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
- codeAt: createMethod(false),
- // `String.prototype.at` method
- // https://github.com/mathiasbynens/String.prototype.at
- charAt: createMethod(true)
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-pad.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-pad.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsStringPadJs(module, exports, __webpack_require__) {
- // https://github.com/tc39/proposal-string-pad-start-end
- var toLength = __webpack_require__(
- /*! ../internals/to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js");
-
- var repeat = __webpack_require__(
- /*! ../internals/string-repeat */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-repeat.js");
-
- var requireObjectCoercible = __webpack_require__(
- /*! ../internals/require-object-coercible */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js");
-
- var ceil = Math.ceil; // `String.prototype.{ padStart, padEnd }` methods implementation
-
- var createMethod = function createMethod(IS_END) {
- return function ($this, maxLength, fillString) {
- var S = String(requireObjectCoercible($this));
- var stringLength = S.length;
- var fillStr = fillString === undefined ? ' ' : String(fillString);
- var intMaxLength = toLength(maxLength);
- var fillLen, stringFiller;
- if (intMaxLength <= stringLength || fillStr == '') return S;
- fillLen = intMaxLength - stringLength;
- stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));
- if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);
- return IS_END ? S + stringFiller : stringFiller + S;
- };
- };
-
- module.exports = {
- // `String.prototype.padStart` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.padstart
- start: createMethod(false),
- // `String.prototype.padEnd` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.padend
- end: createMethod(true)
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-repeat.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-repeat.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsStringRepeatJs(module, exports, __webpack_require__) {
- "use strict";
-
- var toInteger = __webpack_require__(
- /*! ../internals/to-integer */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-integer.js");
-
- var requireObjectCoercible = __webpack_require__(
- /*! ../internals/require-object-coercible */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js"); // `String.prototype.repeat` method implementation
- // https://tc39.github.io/ecma262/#sec-string.prototype.repeat
-
-
- module.exports = ''.repeat || function repeat(count) {
- var str = String(requireObjectCoercible(this));
- var result = '';
- var n = toInteger(count);
- if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');
-
- for (; n > 0; (n >>>= 1) && (str += str)) {
- if (n & 1) result += str;
- }
-
- return result;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-trim-forced.js":
- /*!*********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-trim-forced.js ***!
- \*********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsStringTrimForcedJs(module, exports, __webpack_require__) {
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var whitespaces = __webpack_require__(
- /*! ../internals/whitespaces */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/whitespaces.js");
-
- var non = "\u200B\x85\u180E"; // check that a method works with the correct list
- // of whitespaces and has a correct name
-
- module.exports = function (METHOD_NAME) {
- return fails(function () {
- return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
- });
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-trim.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-trim.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsStringTrimJs(module, exports, __webpack_require__) {
- var requireObjectCoercible = __webpack_require__(
- /*! ../internals/require-object-coercible */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js");
-
- var whitespaces = __webpack_require__(
- /*! ../internals/whitespaces */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/whitespaces.js");
-
- var whitespace = '[' + whitespaces + ']';
- var ltrim = RegExp('^' + whitespace + whitespace + '*');
- var rtrim = RegExp(whitespace + whitespace + '*$'); // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
-
- var createMethod = function createMethod(TYPE) {
- return function ($this) {
- var string = String(requireObjectCoercible($this));
- if (TYPE & 1) string = string.replace(ltrim, '');
- if (TYPE & 2) string = string.replace(rtrim, '');
- return string;
- };
- };
-
- module.exports = {
- // `String.prototype.{ trimLeft, trimStart }` methods
- // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart
- start: createMethod(1),
- // `String.prototype.{ trimRight, trimEnd }` methods
- // https://tc39.github.io/ecma262/#sec-string.prototype.trimend
- end: createMethod(2),
- // `String.prototype.trim` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.trim
- trim: createMethod(3)
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/task.js":
- /*!*******************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/task.js ***!
- \*******************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsTaskJs(module, exports, __webpack_require__) {
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var classof = __webpack_require__(
- /*! ../internals/classof-raw */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js");
-
- var bind = __webpack_require__(
- /*! ../internals/function-bind-context */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind-context.js");
-
- var html = __webpack_require__(
- /*! ../internals/html */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/html.js");
-
- var createElement = __webpack_require__(
- /*! ../internals/document-create-element */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/document-create-element.js");
-
- var IS_IOS = __webpack_require__(
- /*! ../internals/engine-is-ios */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-is-ios.js");
-
- var location = global.location;
- var set = global.setImmediate;
- var clear = global.clearImmediate;
- var process = global.process;
- var MessageChannel = global.MessageChannel;
- var Dispatch = global.Dispatch;
- var counter = 0;
- var queue = {};
- var ONREADYSTATECHANGE = 'onreadystatechange';
- var defer, channel, port;
-
- var run = function run(id) {
- // eslint-disable-next-line no-prototype-builtins
- if (queue.hasOwnProperty(id)) {
- var fn = queue[id];
- delete queue[id];
- fn();
- }
- };
-
- var runner = function runner(id) {
- return function () {
- run(id);
- };
- };
-
- var listener = function listener(event) {
- run(event.data);
- };
-
- var post = function post(id) {
- // old engines have not location.origin
- global.postMessage(id + '', location.protocol + '//' + location.host);
- }; // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
-
-
- if (!set || !clear) {
- set = function setImmediate(fn) {
- var args = [];
- var i = 1;
-
- while (arguments.length > i) {
- args.push(arguments[i++]);
- }
-
- queue[++counter] = function () {
- // eslint-disable-next-line no-new-func
- (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
- };
-
- defer(counter);
- return counter;
- };
-
- clear = function clearImmediate(id) {
- delete queue[id];
- }; // Node.js 0.8-
-
-
- if (classof(process) == 'process') {
- defer = function defer(id) {
- process.nextTick(runner(id));
- }; // Sphere (JS game engine) Dispatch API
-
- } else if (Dispatch && Dispatch.now) {
- defer = function defer(id) {
- Dispatch.now(runner(id));
- }; // Browsers with MessageChannel, includes WebWorkers
- // except iOS - https://github.com/zloirock/core-js/issues/624
-
- } else if (MessageChannel && !IS_IOS) {
- channel = new MessageChannel();
- port = channel.port2;
- channel.port1.onmessage = listener;
- defer = bind(port.postMessage, port, 1); // Browsers with postMessage, skip WebWorkers
- // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
- } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {
- defer = post;
- global.addEventListener('message', listener, false); // IE8-
- } else if (ONREADYSTATECHANGE in createElement('script')) {
- defer = function defer(id) {
- html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
- html.removeChild(this);
- run(id);
- };
- }; // Rest old browsers
-
- } else {
- defer = function defer(id) {
- setTimeout(runner(id), 0);
- };
- }
- }
-
- module.exports = {
- set: set,
- clear: clear
- };
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/this-number-value.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/this-number-value.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsThisNumberValueJs(module, exports, __webpack_require__) {
- var classof = __webpack_require__(
- /*! ../internals/classof-raw */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js"); // `thisNumberValue` abstract operation
- // https://tc39.github.io/ecma262/#sec-thisnumbervalue
-
-
- module.exports = function (value) {
- if (typeof value != 'number' && classof(value) != 'Number') {
- throw TypeError('Incorrect invocation');
- }
-
- return +value;
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-absolute-index.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-absolute-index.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsToAbsoluteIndexJs(module, exports, __webpack_require__) {
- var toInteger = __webpack_require__(
- /*! ../internals/to-integer */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-integer.js");
-
- var max = Math.max;
- var min = Math.min; // Helper for a popular repeating case of the spec:
- // Let integer be ? ToInteger(index).
- // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-
- module.exports = function (index, length) {
- var integer = toInteger(index);
- return integer < 0 ? max(integer + length, 0) : min(integer, length);
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsToIndexedObjectJs(module, exports, __webpack_require__) {
- // toObject with fallback for non-array-like ES3 strings
- var IndexedObject = __webpack_require__(
- /*! ../internals/indexed-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/indexed-object.js");
-
- var requireObjectCoercible = __webpack_require__(
- /*! ../internals/require-object-coercible */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js");
-
- module.exports = function (it) {
- return IndexedObject(requireObjectCoercible(it));
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-integer.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-integer.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsToIntegerJs(module, exports) {
- var ceil = Math.ceil;
- var floor = Math.floor; // `ToInteger` abstract operation
- // https://tc39.github.io/ecma262/#sec-tointeger
-
- module.exports = function (argument) {
- return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js":
- /*!************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js ***!
- \************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsToLengthJs(module, exports, __webpack_require__) {
- var toInteger = __webpack_require__(
- /*! ../internals/to-integer */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-integer.js");
-
- var min = Math.min; // `ToLength` abstract operation
- // https://tc39.github.io/ecma262/#sec-tolength
-
- module.exports = function (argument) {
- return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js":
- /*!************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js ***!
- \************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsToObjectJs(module, exports, __webpack_require__) {
- var requireObjectCoercible = __webpack_require__(
- /*! ../internals/require-object-coercible */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js"); // `ToObject` abstract operation
- // https://tc39.github.io/ecma262/#sec-toobject
-
-
- module.exports = function (argument) {
- return Object(requireObjectCoercible(argument));
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-primitive.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-primitive.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsToPrimitiveJs(module, exports, __webpack_require__) {
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js"); // `ToPrimitive` abstract operation
- // https://tc39.github.io/ecma262/#sec-toprimitive
- // instead of the ES6 spec version, we didn't implement @@toPrimitive case
- // and the second argument - flag - preferred type is a string
-
-
- module.exports = function (input, PREFERRED_STRING) {
- if (!isObject(input)) return input;
- var fn, val;
- if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
- if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
- if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
- throw TypeError("Can't convert object to primitive value");
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-string-tag-support.js":
- /*!************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-string-tag-support.js ***!
- \************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsToStringTagSupportJs(module, exports, __webpack_require__) {
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var TO_STRING_TAG = wellKnownSymbol('toStringTag');
- var test = {};
- test[TO_STRING_TAG] = 'z';
- module.exports = String(test) === '[object z]';
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/uid.js":
- /*!******************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/uid.js ***!
- \******************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsUidJs(module, exports) {
- var id = 0;
- var postfix = Math.random();
-
- module.exports = function (key) {
- return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/use-symbol-as-uid.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/use-symbol-as-uid.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsUseSymbolAsUidJs(module, exports, __webpack_require__) {
- var NATIVE_SYMBOL = __webpack_require__(
- /*! ../internals/native-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-symbol.js");
-
- module.exports = NATIVE_SYMBOL // eslint-disable-next-line no-undef
- && !Symbol.sham // eslint-disable-next-line no-undef
- && typeof Symbol.iterator == 'symbol';
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol-wrapped.js":
- /*!****************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol-wrapped.js ***!
- \****************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsWellKnownSymbolWrappedJs(module, exports, __webpack_require__) {
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- exports.f = wellKnownSymbol;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsWellKnownSymbolJs(module, exports, __webpack_require__) {
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var shared = __webpack_require__(
- /*! ../internals/shared */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared.js");
-
- var has = __webpack_require__(
- /*! ../internals/has */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-
- var uid = __webpack_require__(
- /*! ../internals/uid */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/uid.js");
-
- var NATIVE_SYMBOL = __webpack_require__(
- /*! ../internals/native-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-symbol.js");
-
- var USE_SYMBOL_AS_UID = __webpack_require__(
- /*! ../internals/use-symbol-as-uid */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/use-symbol-as-uid.js");
-
- var WellKnownSymbolsStore = shared('wks');
- var Symbol = global.Symbol;
- var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;
-
- module.exports = function (name) {
- if (!has(WellKnownSymbolsStore, name)) {
- if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
- }
-
- return WellKnownSymbolsStore[name];
- };
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/whitespaces.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/whitespaces.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsInternalsWhitespacesJs(module, exports) {
- // a string of all valid unicode whitespaces
- // eslint-disable-next-line max-len
- module.exports = "\t\n\x0B\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF";
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.concat.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.concat.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArrayConcatJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var isArray = __webpack_require__(
- /*! ../internals/is-array */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var toObject = __webpack_require__(
- /*! ../internals/to-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js");
-
- var toLength = __webpack_require__(
- /*! ../internals/to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js");
-
- var createProperty = __webpack_require__(
- /*! ../internals/create-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property.js");
-
- var arraySpeciesCreate = __webpack_require__(
- /*! ../internals/array-species-create */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-species-create.js");
-
- var arrayMethodHasSpeciesSupport = __webpack_require__(
- /*! ../internals/array-method-has-species-support */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-has-species-support.js");
-
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var V8_VERSION = __webpack_require__(
- /*! ../internals/engine-v8-version */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-v8-version.js");
-
- var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
- var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
- var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; // We can't use this feature detection in V8 since it causes
- // deoptimization and serious performance degradation
- // https://github.com/zloirock/core-js/issues/679
-
- var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {
- var array = [];
- array[IS_CONCAT_SPREADABLE] = false;
- return array.concat()[0] !== array;
- });
- var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
- var isConcatSpreadable = function isConcatSpreadable(O) {
- if (!isObject(O)) return false;
- var spreadable = O[IS_CONCAT_SPREADABLE];
- return spreadable !== undefined ? !!spreadable : isArray(O);
- };
-
- var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; // `Array.prototype.concat` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.concat
- // with adding support of @@isConcatSpreadable and @@species
-
- $({
- target: 'Array',
- proto: true,
- forced: FORCED
- }, {
- concat: function concat(arg) {
- // eslint-disable-line no-unused-vars
- var O = toObject(this);
- var A = arraySpeciesCreate(O, 0);
- var n = 0;
- var i, k, length, len, E;
-
- for (i = -1, length = arguments.length; i < length; i++) {
- E = i === -1 ? O : arguments[i];
-
- if (isConcatSpreadable(E)) {
- len = toLength(E.length);
- if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-
- for (k = 0; k < len; k++, n++) {
- if (k in E) createProperty(A, n, E[k]);
- }
- } else {
- if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
- createProperty(A, n++, E);
- }
- }
-
- A.length = n;
- return A;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.copy-within.js":
- /*!*********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.copy-within.js ***!
- \*********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArrayCopyWithinJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var copyWithin = __webpack_require__(
- /*! ../internals/array-copy-within */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-copy-within.js");
-
- var addToUnscopables = __webpack_require__(
- /*! ../internals/add-to-unscopables */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/add-to-unscopables.js"); // `Array.prototype.copyWithin` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.copywithin
-
-
- $({
- target: 'Array',
- proto: true
- }, {
- copyWithin: copyWithin
- }); // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-
- addToUnscopables('copyWithin');
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.every.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.every.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArrayEveryJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var $every = __webpack_require__(
- /*! ../internals/array-iteration */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-iteration.js").every;
-
- var arrayMethodIsStrict = __webpack_require__(
- /*! ../internals/array-method-is-strict */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-is-strict.js");
-
- var arrayMethodUsesToLength = __webpack_require__(
- /*! ../internals/array-method-uses-to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-uses-to-length.js");
-
- var STRICT_METHOD = arrayMethodIsStrict('every');
- var USES_TO_LENGTH = arrayMethodUsesToLength('every'); // `Array.prototype.every` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.every
-
- $({
- target: 'Array',
- proto: true,
- forced: !STRICT_METHOD || !USES_TO_LENGTH
- }, {
- every: function every(callbackfn
- /* , thisArg */
- ) {
- return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.fill.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.fill.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArrayFillJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var fill = __webpack_require__(
- /*! ../internals/array-fill */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-fill.js");
-
- var addToUnscopables = __webpack_require__(
- /*! ../internals/add-to-unscopables */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/add-to-unscopables.js"); // `Array.prototype.fill` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.fill
-
-
- $({
- target: 'Array',
- proto: true
- }, {
- fill: fill
- }); // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-
- addToUnscopables('fill');
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.filter.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.filter.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArrayFilterJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var $filter = __webpack_require__(
- /*! ../internals/array-iteration */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-iteration.js").filter;
-
- var arrayMethodHasSpeciesSupport = __webpack_require__(
- /*! ../internals/array-method-has-species-support */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-has-species-support.js");
-
- var arrayMethodUsesToLength = __webpack_require__(
- /*! ../internals/array-method-uses-to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-uses-to-length.js");
-
- var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter'); // Edge 14- issue
-
- var USES_TO_LENGTH = arrayMethodUsesToLength('filter'); // `Array.prototype.filter` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.filter
- // with adding support of @@species
-
- $({
- target: 'Array',
- proto: true,
- forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH
- }, {
- filter: function filter(callbackfn
- /* , thisArg */
- ) {
- return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.find-index.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.find-index.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArrayFindIndexJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var $findIndex = __webpack_require__(
- /*! ../internals/array-iteration */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-iteration.js").findIndex;
-
- var addToUnscopables = __webpack_require__(
- /*! ../internals/add-to-unscopables */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/add-to-unscopables.js");
-
- var arrayMethodUsesToLength = __webpack_require__(
- /*! ../internals/array-method-uses-to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-uses-to-length.js");
-
- var FIND_INDEX = 'findIndex';
- var SKIPS_HOLES = true;
- var USES_TO_LENGTH = arrayMethodUsesToLength(FIND_INDEX); // Shouldn't skip holes
-
- if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () {
- SKIPS_HOLES = false;
- }); // `Array.prototype.findIndex` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.findindex
-
- $({
- target: 'Array',
- proto: true,
- forced: SKIPS_HOLES || !USES_TO_LENGTH
- }, {
- findIndex: function findIndex(callbackfn
- /* , that = undefined */
- ) {
- return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- }); // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-
- addToUnscopables(FIND_INDEX);
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.find.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.find.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArrayFindJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var $find = __webpack_require__(
- /*! ../internals/array-iteration */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-iteration.js").find;
-
- var addToUnscopables = __webpack_require__(
- /*! ../internals/add-to-unscopables */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/add-to-unscopables.js");
-
- var arrayMethodUsesToLength = __webpack_require__(
- /*! ../internals/array-method-uses-to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-uses-to-length.js");
-
- var FIND = 'find';
- var SKIPS_HOLES = true;
- var USES_TO_LENGTH = arrayMethodUsesToLength(FIND); // Shouldn't skip holes
-
- if (FIND in []) Array(1)[FIND](function () {
- SKIPS_HOLES = false;
- }); // `Array.prototype.find` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.find
-
- $({
- target: 'Array',
- proto: true,
- forced: SKIPS_HOLES || !USES_TO_LENGTH
- }, {
- find: function find(callbackfn
- /* , that = undefined */
- ) {
- return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- }); // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-
- addToUnscopables(FIND);
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.for-each.js":
- /*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.for-each.js ***!
- \******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArrayForEachJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var forEach = __webpack_require__(
- /*! ../internals/array-for-each */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-for-each.js"); // `Array.prototype.forEach` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-
-
- $({
- target: 'Array',
- proto: true,
- forced: [].forEach != forEach
- }, {
- forEach: forEach
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.from.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.from.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArrayFromJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var from = __webpack_require__(
- /*! ../internals/array-from */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-from.js");
-
- var checkCorrectnessOfIteration = __webpack_require__(
- /*! ../internals/check-correctness-of-iteration */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/check-correctness-of-iteration.js");
-
- var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
- Array.from(iterable);
- }); // `Array.from` method
- // https://tc39.github.io/ecma262/#sec-array.from
-
- $({
- target: 'Array',
- stat: true,
- forced: INCORRECT_ITERATION
- }, {
- from: from
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.index-of.js":
- /*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.index-of.js ***!
- \******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArrayIndexOfJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var $indexOf = __webpack_require__(
- /*! ../internals/array-includes */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-includes.js").indexOf;
-
- var arrayMethodIsStrict = __webpack_require__(
- /*! ../internals/array-method-is-strict */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-is-strict.js");
-
- var arrayMethodUsesToLength = __webpack_require__(
- /*! ../internals/array-method-uses-to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-uses-to-length.js");
-
- var nativeIndexOf = [].indexOf;
- var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
- var STRICT_METHOD = arrayMethodIsStrict('indexOf');
- var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', {
- ACCESSORS: true,
- 1: 0
- }); // `Array.prototype.indexOf` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-
- $({
- target: 'Array',
- proto: true,
- forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH
- }, {
- indexOf: function indexOf(searchElement
- /* , fromIndex = 0 */
- ) {
- return NEGATIVE_ZERO // convert -0 to +0
- ? nativeIndexOf.apply(this, arguments) || 0 : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.is-array.js":
- /*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.is-array.js ***!
- \******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArrayIsArrayJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var isArray = __webpack_require__(
- /*! ../internals/is-array */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array.js"); // `Array.isArray` method
- // https://tc39.github.io/ecma262/#sec-array.isarray
-
-
- $({
- target: 'Array',
- stat: true
- }, {
- isArray: isArray
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.iterator.js":
- /*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.iterator.js ***!
- \******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArrayIteratorJs(module, exports, __webpack_require__) {
- "use strict";
-
- var toIndexedObject = __webpack_require__(
- /*! ../internals/to-indexed-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js");
-
- var addToUnscopables = __webpack_require__(
- /*! ../internals/add-to-unscopables */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/add-to-unscopables.js");
-
- var Iterators = __webpack_require__(
- /*! ../internals/iterators */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators.js");
-
- var InternalStateModule = __webpack_require__(
- /*! ../internals/internal-state */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js");
-
- var defineIterator = __webpack_require__(
- /*! ../internals/define-iterator */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-iterator.js");
-
- var ARRAY_ITERATOR = 'Array Iterator';
- var setInternalState = InternalStateModule.set;
- var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); // `Array.prototype.entries` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.entries
- // `Array.prototype.keys` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.keys
- // `Array.prototype.values` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.values
- // `Array.prototype[@@iterator]` method
- // https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator
- // `CreateArrayIterator` internal method
- // https://tc39.github.io/ecma262/#sec-createarrayiterator
-
- module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
- setInternalState(this, {
- type: ARRAY_ITERATOR,
- target: toIndexedObject(iterated),
- // target
- index: 0,
- // next index
- kind: kind // kind
-
- }); // `%ArrayIteratorPrototype%.next` method
- // https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next
- }, function () {
- var state = getInternalState(this);
- var target = state.target;
- var kind = state.kind;
- var index = state.index++;
-
- if (!target || index >= target.length) {
- state.target = undefined;
- return {
- value: undefined,
- done: true
- };
- }
-
- if (kind == 'keys') return {
- value: index,
- done: false
- };
- if (kind == 'values') return {
- value: target[index],
- done: false
- };
- return {
- value: [index, target[index]],
- done: false
- };
- }, 'values'); // argumentsList[@@iterator] is %ArrayProto_values%
- // https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject
- // https://tc39.github.io/ecma262/#sec-createmappedargumentsobject
-
- Iterators.Arguments = Iterators.Array; // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-
- addToUnscopables('keys');
- addToUnscopables('values');
- addToUnscopables('entries');
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.join.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.join.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArrayJoinJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var IndexedObject = __webpack_require__(
- /*! ../internals/indexed-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/indexed-object.js");
-
- var toIndexedObject = __webpack_require__(
- /*! ../internals/to-indexed-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js");
-
- var arrayMethodIsStrict = __webpack_require__(
- /*! ../internals/array-method-is-strict */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-is-strict.js");
-
- var nativeJoin = [].join;
- var ES3_STRINGS = IndexedObject != Object;
- var STRICT_METHOD = arrayMethodIsStrict('join', ','); // `Array.prototype.join` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.join
-
- $({
- target: 'Array',
- proto: true,
- forced: ES3_STRINGS || !STRICT_METHOD
- }, {
- join: function join(separator) {
- return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.last-index-of.js":
- /*!***********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.last-index-of.js ***!
- \***********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArrayLastIndexOfJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var lastIndexOf = __webpack_require__(
- /*! ../internals/array-last-index-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-last-index-of.js"); // `Array.prototype.lastIndexOf` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof
-
-
- $({
- target: 'Array',
- proto: true,
- forced: lastIndexOf !== [].lastIndexOf
- }, {
- lastIndexOf: lastIndexOf
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.map.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.map.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArrayMapJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var $map = __webpack_require__(
- /*! ../internals/array-iteration */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-iteration.js").map;
-
- var arrayMethodHasSpeciesSupport = __webpack_require__(
- /*! ../internals/array-method-has-species-support */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-has-species-support.js");
-
- var arrayMethodUsesToLength = __webpack_require__(
- /*! ../internals/array-method-uses-to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-uses-to-length.js");
-
- var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map'); // FF49- issue
-
- var USES_TO_LENGTH = arrayMethodUsesToLength('map'); // `Array.prototype.map` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.map
- // with adding support of @@species
-
- $({
- target: 'Array',
- proto: true,
- forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH
- }, {
- map: function map(callbackfn
- /* , thisArg */
- ) {
- return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.of.js":
- /*!************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.of.js ***!
- \************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArrayOfJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var createProperty = __webpack_require__(
- /*! ../internals/create-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property.js");
-
- var ISNT_GENERIC = fails(function () {
- function F() {
- /* empty */
- }
-
- return !(Array.of.call(F) instanceof F);
- }); // `Array.of` method
- // https://tc39.github.io/ecma262/#sec-array.of
- // WebKit Array.of isn't generic
-
- $({
- target: 'Array',
- stat: true,
- forced: ISNT_GENERIC
- }, {
- of: function of()
- /* ...args */
- {
- var index = 0;
- var argumentsLength = arguments.length;
- var result = new (typeof this == 'function' ? this : Array)(argumentsLength);
-
- while (argumentsLength > index) {
- createProperty(result, index, arguments[index++]);
- }
-
- result.length = argumentsLength;
- return result;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.reduce-right.js":
- /*!**********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.reduce-right.js ***!
- \**********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArrayReduceRightJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var $reduceRight = __webpack_require__(
- /*! ../internals/array-reduce */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-reduce.js").right;
-
- var arrayMethodIsStrict = __webpack_require__(
- /*! ../internals/array-method-is-strict */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-is-strict.js");
-
- var arrayMethodUsesToLength = __webpack_require__(
- /*! ../internals/array-method-uses-to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-uses-to-length.js");
-
- var STRICT_METHOD = arrayMethodIsStrict('reduceRight'); // For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method
-
- var USES_TO_LENGTH = arrayMethodUsesToLength('reduce', {
- 1: 0
- }); // `Array.prototype.reduceRight` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright
-
- $({
- target: 'Array',
- proto: true,
- forced: !STRICT_METHOD || !USES_TO_LENGTH
- }, {
- reduceRight: function reduceRight(callbackfn
- /* , initialValue */
- ) {
- return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.reduce.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.reduce.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArrayReduceJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var $reduce = __webpack_require__(
- /*! ../internals/array-reduce */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-reduce.js").left;
-
- var arrayMethodIsStrict = __webpack_require__(
- /*! ../internals/array-method-is-strict */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-is-strict.js");
-
- var arrayMethodUsesToLength = __webpack_require__(
- /*! ../internals/array-method-uses-to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-uses-to-length.js");
-
- var STRICT_METHOD = arrayMethodIsStrict('reduce');
- var USES_TO_LENGTH = arrayMethodUsesToLength('reduce', {
- 1: 0
- }); // `Array.prototype.reduce` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.reduce
-
- $({
- target: 'Array',
- proto: true,
- forced: !STRICT_METHOD || !USES_TO_LENGTH
- }, {
- reduce: function reduce(callbackfn
- /* , initialValue */
- ) {
- return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.slice.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.slice.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArraySliceJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var isArray = __webpack_require__(
- /*! ../internals/is-array */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array.js");
-
- var toAbsoluteIndex = __webpack_require__(
- /*! ../internals/to-absolute-index */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-absolute-index.js");
-
- var toLength = __webpack_require__(
- /*! ../internals/to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js");
-
- var toIndexedObject = __webpack_require__(
- /*! ../internals/to-indexed-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js");
-
- var createProperty = __webpack_require__(
- /*! ../internals/create-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property.js");
-
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var arrayMethodHasSpeciesSupport = __webpack_require__(
- /*! ../internals/array-method-has-species-support */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-has-species-support.js");
-
- var arrayMethodUsesToLength = __webpack_require__(
- /*! ../internals/array-method-uses-to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-uses-to-length.js");
-
- var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');
- var USES_TO_LENGTH = arrayMethodUsesToLength('slice', {
- ACCESSORS: true,
- 0: 0,
- 1: 2
- });
- var SPECIES = wellKnownSymbol('species');
- var nativeSlice = [].slice;
- var max = Math.max; // `Array.prototype.slice` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.slice
- // fallback for not array-like ES3 strings and DOM objects
-
- $({
- target: 'Array',
- proto: true,
- forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH
- }, {
- slice: function slice(start, end) {
- var O = toIndexedObject(this);
- var length = toLength(O.length);
- var k = toAbsoluteIndex(start, length);
- var fin = toAbsoluteIndex(end === undefined ? length : end, length); // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
-
- var Constructor, result, n;
-
- if (isArray(O)) {
- Constructor = O.constructor; // cross-realm fallback
-
- if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
- Constructor = undefined;
- } else if (isObject(Constructor)) {
- Constructor = Constructor[SPECIES];
- if (Constructor === null) Constructor = undefined;
- }
-
- if (Constructor === Array || Constructor === undefined) {
- return nativeSlice.call(O, k, fin);
- }
- }
-
- result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));
-
- for (n = 0; k < fin; k++, n++) {
- if (k in O) createProperty(result, n, O[k]);
- }
-
- result.length = n;
- return result;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.some.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.some.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArraySomeJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var $some = __webpack_require__(
- /*! ../internals/array-iteration */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-iteration.js").some;
-
- var arrayMethodIsStrict = __webpack_require__(
- /*! ../internals/array-method-is-strict */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-is-strict.js");
-
- var arrayMethodUsesToLength = __webpack_require__(
- /*! ../internals/array-method-uses-to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-uses-to-length.js");
-
- var STRICT_METHOD = arrayMethodIsStrict('some');
- var USES_TO_LENGTH = arrayMethodUsesToLength('some'); // `Array.prototype.some` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.some
-
- $({
- target: 'Array',
- proto: true,
- forced: !STRICT_METHOD || !USES_TO_LENGTH
- }, {
- some: function some(callbackfn
- /* , thisArg */
- ) {
- return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.sort.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.sort.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArraySortJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var aFunction = __webpack_require__(
- /*! ../internals/a-function */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-function.js");
-
- var toObject = __webpack_require__(
- /*! ../internals/to-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var arrayMethodIsStrict = __webpack_require__(
- /*! ../internals/array-method-is-strict */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-is-strict.js");
-
- var test = [];
- var nativeSort = test.sort; // IE8-
-
- var FAILS_ON_UNDEFINED = fails(function () {
- test.sort(undefined);
- }); // V8 bug
-
- var FAILS_ON_NULL = fails(function () {
- test.sort(null);
- }); // Old WebKit
-
- var STRICT_METHOD = arrayMethodIsStrict('sort');
- var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD; // `Array.prototype.sort` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.sort
-
- $({
- target: 'Array',
- proto: true,
- forced: FORCED
- }, {
- sort: function sort(comparefn) {
- return comparefn === undefined ? nativeSort.call(toObject(this)) : nativeSort.call(toObject(this), aFunction(comparefn));
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.splice.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.splice.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsArraySpliceJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var toAbsoluteIndex = __webpack_require__(
- /*! ../internals/to-absolute-index */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-absolute-index.js");
-
- var toInteger = __webpack_require__(
- /*! ../internals/to-integer */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-integer.js");
-
- var toLength = __webpack_require__(
- /*! ../internals/to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js");
-
- var toObject = __webpack_require__(
- /*! ../internals/to-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js");
-
- var arraySpeciesCreate = __webpack_require__(
- /*! ../internals/array-species-create */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-species-create.js");
-
- var createProperty = __webpack_require__(
- /*! ../internals/create-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property.js");
-
- var arrayMethodHasSpeciesSupport = __webpack_require__(
- /*! ../internals/array-method-has-species-support */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-has-species-support.js");
-
- var arrayMethodUsesToLength = __webpack_require__(
- /*! ../internals/array-method-uses-to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-uses-to-length.js");
-
- var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');
- var USES_TO_LENGTH = arrayMethodUsesToLength('splice', {
- ACCESSORS: true,
- 0: 0,
- 1: 2
- });
- var max = Math.max;
- var min = Math.min;
- var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
- var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded'; // `Array.prototype.splice` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.splice
- // with adding support of @@species
-
- $({
- target: 'Array',
- proto: true,
- forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH
- }, {
- splice: function splice(start, deleteCount
- /* , ...items */
- ) {
- var O = toObject(this);
- var len = toLength(O.length);
- var actualStart = toAbsoluteIndex(start, len);
- var argumentsLength = arguments.length;
- var insertCount, actualDeleteCount, A, k, from, to;
-
- if (argumentsLength === 0) {
- insertCount = actualDeleteCount = 0;
- } else if (argumentsLength === 1) {
- insertCount = 0;
- actualDeleteCount = len - actualStart;
- } else {
- insertCount = argumentsLength - 2;
- actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);
- }
-
- if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {
- throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);
- }
-
- A = arraySpeciesCreate(O, actualDeleteCount);
-
- for (k = 0; k < actualDeleteCount; k++) {
- from = actualStart + k;
- if (from in O) createProperty(A, k, O[from]);
- }
-
- A.length = actualDeleteCount;
-
- if (insertCount < actualDeleteCount) {
- for (k = actualStart; k < len - actualDeleteCount; k++) {
- from = k + actualDeleteCount;
- to = k + insertCount;
- if (from in O) O[to] = O[from];else delete O[to];
- }
-
- for (k = len; k > len - actualDeleteCount + insertCount; k--) {
- delete O[k - 1];
- }
- } else if (insertCount > actualDeleteCount) {
- for (k = len - actualDeleteCount; k > actualStart; k--) {
- from = k + actualDeleteCount - 1;
- to = k + insertCount - 1;
- if (from in O) O[to] = O[from];else delete O[to];
- }
- }
-
- for (k = 0; k < insertCount; k++) {
- O[k + actualStart] = arguments[k + 2];
- }
-
- O.length = len - actualDeleteCount + insertCount;
- return A;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.now.js":
- /*!************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.now.js ***!
- \************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsDateNowJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js"); // `Date.now` method
- // https://tc39.github.io/ecma262/#sec-date.now
-
-
- $({
- target: 'Date',
- stat: true
- }, {
- now: function now() {
- return new Date().getTime();
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-iso-string.js":
- /*!**********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-iso-string.js ***!
- \**********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsDateToIsoStringJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var toISOString = __webpack_require__(
- /*! ../internals/date-to-iso-string */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/date-to-iso-string.js"); // `Date.prototype.toISOString` method
- // https://tc39.github.io/ecma262/#sec-date.prototype.toisostring
- // PhantomJS / old WebKit has a broken implementations
-
-
- $({
- target: 'Date',
- proto: true,
- forced: Date.prototype.toISOString !== toISOString
- }, {
- toISOString: toISOString
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-json.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-json.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsDateToJsonJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var toObject = __webpack_require__(
- /*! ../internals/to-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js");
-
- var toPrimitive = __webpack_require__(
- /*! ../internals/to-primitive */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-primitive.js");
-
- var FORCED = fails(function () {
- return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({
- toISOString: function toISOString() {
- return 1;
- }
- }) !== 1;
- }); // `Date.prototype.toJSON` method
- // https://tc39.github.io/ecma262/#sec-date.prototype.tojson
-
- $({
- target: 'Date',
- proto: true,
- forced: FORCED
- }, {
- // eslint-disable-next-line no-unused-vars
- toJSON: function toJSON(key) {
- var O = toObject(this);
- var pv = toPrimitive(O);
- return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-primitive.js":
- /*!*********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-primitive.js ***!
- \*********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsDateToPrimitiveJs(module, exports, __webpack_require__) {
- var createNonEnumerableProperty = __webpack_require__(
- /*! ../internals/create-non-enumerable-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js");
-
- var dateToPrimitive = __webpack_require__(
- /*! ../internals/date-to-primitive */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/date-to-primitive.js");
-
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
- var DatePrototype = Date.prototype; // `Date.prototype[@@toPrimitive]` method
- // https://tc39.github.io/ecma262/#sec-date.prototype-@@toprimitive
-
- if (!(TO_PRIMITIVE in DatePrototype)) {
- createNonEnumerableProperty(DatePrototype, TO_PRIMITIVE, dateToPrimitive);
- }
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-string.js":
- /*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-string.js ***!
- \******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsDateToStringJs(module, exports, __webpack_require__) {
- var redefine = __webpack_require__(
- /*! ../internals/redefine */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js");
-
- var DatePrototype = Date.prototype;
- var INVALID_DATE = 'Invalid Date';
- var TO_STRING = 'toString';
- var nativeDateToString = DatePrototype[TO_STRING];
- var getTime = DatePrototype.getTime; // `Date.prototype.toString` method
- // https://tc39.github.io/ecma262/#sec-date.prototype.tostring
-
- if (new Date(NaN) + '' != INVALID_DATE) {
- redefine(DatePrototype, TO_STRING, function toString() {
- var value = getTime.call(this); // eslint-disable-next-line no-self-compare
-
- return value === value ? nativeDateToString.call(this) : INVALID_DATE;
- });
- }
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.function.bind.js":
- /*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.function.bind.js ***!
- \*****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsFunctionBindJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var bind = __webpack_require__(
- /*! ../internals/function-bind */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind.js"); // `Function.prototype.bind` method
- // https://tc39.github.io/ecma262/#sec-function.prototype.bind
-
-
- $({
- target: 'Function',
- proto: true
- }, {
- bind: bind
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.function.has-instance.js":
- /*!*************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.function.has-instance.js ***!
- \*************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsFunctionHasInstanceJs(module, exports, __webpack_require__) {
- "use strict";
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var definePropertyModule = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js");
-
- var getPrototypeOf = __webpack_require__(
- /*! ../internals/object-get-prototype-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js");
-
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var HAS_INSTANCE = wellKnownSymbol('hasInstance');
- var FunctionPrototype = Function.prototype; // `Function.prototype[@@hasInstance]` method
- // https://tc39.github.io/ecma262/#sec-function.prototype-@@hasinstance
-
- if (!(HAS_INSTANCE in FunctionPrototype)) {
- definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, {
- value: function value(O) {
- if (typeof this != 'function' || !isObject(O)) return false;
- if (!isObject(this.prototype)) return O instanceof this; // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
-
- while (O = getPrototypeOf(O)) {
- if (this.prototype === O) return true;
- }
-
- return false;
- }
- });
- }
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.function.name.js":
- /*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.function.name.js ***!
- \*****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsFunctionNameJs(module, exports, __webpack_require__) {
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var defineProperty = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js").f;
-
- var FunctionPrototype = Function.prototype;
- var FunctionPrototypeToString = FunctionPrototype.toString;
- var nameRE = /^\s*function ([^ (]*)/;
- var NAME = 'name'; // Function instances `.name` property
- // https://tc39.github.io/ecma262/#sec-function-instances-name
-
- if (DESCRIPTORS && !(NAME in FunctionPrototype)) {
- defineProperty(FunctionPrototype, NAME, {
- configurable: true,
- get: function get() {
- try {
- return FunctionPrototypeToString.call(this).match(nameRE)[1];
- } catch (error) {
- return '';
- }
- }
- });
- }
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.json.to-string-tag.js":
- /*!**********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.json.to-string-tag.js ***!
- \**********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsJsonToStringTagJs(module, exports, __webpack_require__) {
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var setToStringTag = __webpack_require__(
- /*! ../internals/set-to-string-tag */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-to-string-tag.js"); // JSON[@@toStringTag] property
- // https://tc39.github.io/ecma262/#sec-json-@@tostringtag
-
-
- setToStringTag(global.JSON, 'JSON', true);
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.map.js":
- /*!*******************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.map.js ***!
- \*******************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsMapJs(module, exports, __webpack_require__) {
- "use strict";
-
- var collection = __webpack_require__(
- /*! ../internals/collection */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection.js");
-
- var collectionStrong = __webpack_require__(
- /*! ../internals/collection-strong */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-strong.js"); // `Map` constructor
- // https://tc39.github.io/ecma262/#sec-map-objects
-
-
- module.exports = collection('Map', function (init) {
- return function Map() {
- return init(this, arguments.length ? arguments[0] : undefined);
- };
- }, collectionStrong);
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.acosh.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.acosh.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsMathAcoshJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var log1p = __webpack_require__(
- /*! ../internals/math-log1p */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-log1p.js");
-
- var nativeAcosh = Math.acosh;
- var log = Math.log;
- var sqrt = Math.sqrt;
- var LN2 = Math.LN2;
- var FORCED = !nativeAcosh // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509
- || Math.floor(nativeAcosh(Number.MAX_VALUE)) != 710 // Tor Browser bug: Math.acosh(Infinity) -> NaN
- || nativeAcosh(Infinity) != Infinity; // `Math.acosh` method
- // https://tc39.github.io/ecma262/#sec-math.acosh
-
- $({
- target: 'Math',
- stat: true,
- forced: FORCED
- }, {
- acosh: function acosh(x) {
- return (x = +x) < 1 ? NaN : x > 94906265.62425156 ? log(x) + LN2 : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.asinh.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.asinh.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsMathAsinhJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var nativeAsinh = Math.asinh;
- var log = Math.log;
- var sqrt = Math.sqrt;
-
- function asinh(x) {
- return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : log(x + sqrt(x * x + 1));
- } // `Math.asinh` method
- // https://tc39.github.io/ecma262/#sec-math.asinh
- // Tor Browser bug: Math.asinh(0) -> -0
-
-
- $({
- target: 'Math',
- stat: true,
- forced: !(nativeAsinh && 1 / nativeAsinh(0) > 0)
- }, {
- asinh: asinh
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.atanh.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.atanh.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsMathAtanhJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var nativeAtanh = Math.atanh;
- var log = Math.log; // `Math.atanh` method
- // https://tc39.github.io/ecma262/#sec-math.atanh
- // Tor Browser bug: Math.atanh(-0) -> 0
-
- $({
- target: 'Math',
- stat: true,
- forced: !(nativeAtanh && 1 / nativeAtanh(-0) < 0)
- }, {
- atanh: function atanh(x) {
- return (x = +x) == 0 ? x : log((1 + x) / (1 - x)) / 2;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.cbrt.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.cbrt.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsMathCbrtJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var sign = __webpack_require__(
- /*! ../internals/math-sign */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-sign.js");
-
- var abs = Math.abs;
- var pow = Math.pow; // `Math.cbrt` method
- // https://tc39.github.io/ecma262/#sec-math.cbrt
-
- $({
- target: 'Math',
- stat: true
- }, {
- cbrt: function cbrt(x) {
- return sign(x = +x) * pow(abs(x), 1 / 3);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.clz32.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.clz32.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsMathClz32Js(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var floor = Math.floor;
- var log = Math.log;
- var LOG2E = Math.LOG2E; // `Math.clz32` method
- // https://tc39.github.io/ecma262/#sec-math.clz32
-
- $({
- target: 'Math',
- stat: true
- }, {
- clz32: function clz32(x) {
- return (x >>>= 0) ? 31 - floor(log(x + 0.5) * LOG2E) : 32;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.cosh.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.cosh.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsMathCoshJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var expm1 = __webpack_require__(
- /*! ../internals/math-expm1 */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-expm1.js");
-
- var nativeCosh = Math.cosh;
- var abs = Math.abs;
- var E = Math.E; // `Math.cosh` method
- // https://tc39.github.io/ecma262/#sec-math.cosh
-
- $({
- target: 'Math',
- stat: true,
- forced: !nativeCosh || nativeCosh(710) === Infinity
- }, {
- cosh: function cosh(x) {
- var t = expm1(abs(x) - 1) + 1;
- return (t + 1 / (t * E * E)) * (E / 2);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.expm1.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.expm1.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsMathExpm1Js(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var expm1 = __webpack_require__(
- /*! ../internals/math-expm1 */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-expm1.js"); // `Math.expm1` method
- // https://tc39.github.io/ecma262/#sec-math.expm1
-
-
- $({
- target: 'Math',
- stat: true,
- forced: expm1 != Math.expm1
- }, {
- expm1: expm1
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.fround.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.fround.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsMathFroundJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var fround = __webpack_require__(
- /*! ../internals/math-fround */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-fround.js"); // `Math.fround` method
- // https://tc39.github.io/ecma262/#sec-math.fround
-
-
- $({
- target: 'Math',
- stat: true
- }, {
- fround: fround
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.hypot.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.hypot.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsMathHypotJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var $hypot = Math.hypot;
- var abs = Math.abs;
- var sqrt = Math.sqrt; // Chrome 77 bug
- // https://bugs.chromium.org/p/v8/issues/detail?id=9546
-
- var BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity; // `Math.hypot` method
- // https://tc39.github.io/ecma262/#sec-math.hypot
-
- $({
- target: 'Math',
- stat: true,
- forced: BUGGY
- }, {
- hypot: function hypot(value1, value2) {
- // eslint-disable-line no-unused-vars
- var sum = 0;
- var i = 0;
- var aLen = arguments.length;
- var larg = 0;
- var arg, div;
-
- while (i < aLen) {
- arg = abs(arguments[i++]);
-
- if (larg < arg) {
- div = larg / arg;
- sum = sum * div * div + 1;
- larg = arg;
- } else if (arg > 0) {
- div = arg / larg;
- sum += div * div;
- } else sum += arg;
- }
-
- return larg === Infinity ? Infinity : larg * sqrt(sum);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.imul.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.imul.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsMathImulJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var nativeImul = Math.imul;
- var FORCED = fails(function () {
- return nativeImul(0xFFFFFFFF, 5) != -5 || nativeImul.length != 2;
- }); // `Math.imul` method
- // https://tc39.github.io/ecma262/#sec-math.imul
- // some WebKit versions fails with big numbers, some has wrong arity
-
- $({
- target: 'Math',
- stat: true,
- forced: FORCED
- }, {
- imul: function imul(x, y) {
- var UINT16 = 0xFFFF;
- var xn = +x;
- var yn = +y;
- var xl = UINT16 & xn;
- var yl = UINT16 & yn;
- return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.log10.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.log10.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsMathLog10Js(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var log = Math.log;
- var LOG10E = Math.LOG10E; // `Math.log10` method
- // https://tc39.github.io/ecma262/#sec-math.log10
-
- $({
- target: 'Math',
- stat: true
- }, {
- log10: function log10(x) {
- return log(x) * LOG10E;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.log1p.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.log1p.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsMathLog1pJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var log1p = __webpack_require__(
- /*! ../internals/math-log1p */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-log1p.js"); // `Math.log1p` method
- // https://tc39.github.io/ecma262/#sec-math.log1p
-
-
- $({
- target: 'Math',
- stat: true
- }, {
- log1p: log1p
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.log2.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.log2.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsMathLog2Js(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var log = Math.log;
- var LN2 = Math.LN2; // `Math.log2` method
- // https://tc39.github.io/ecma262/#sec-math.log2
-
- $({
- target: 'Math',
- stat: true
- }, {
- log2: function log2(x) {
- return log(x) / LN2;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.sign.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.sign.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsMathSignJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var sign = __webpack_require__(
- /*! ../internals/math-sign */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-sign.js"); // `Math.sign` method
- // https://tc39.github.io/ecma262/#sec-math.sign
-
-
- $({
- target: 'Math',
- stat: true
- }, {
- sign: sign
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.sinh.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.sinh.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsMathSinhJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var expm1 = __webpack_require__(
- /*! ../internals/math-expm1 */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-expm1.js");
-
- var abs = Math.abs;
- var exp = Math.exp;
- var E = Math.E;
- var FORCED = fails(function () {
- return Math.sinh(-2e-17) != -2e-17;
- }); // `Math.sinh` method
- // https://tc39.github.io/ecma262/#sec-math.sinh
- // V8 near Chromium 38 has a problem with very small numbers
-
- $({
- target: 'Math',
- stat: true,
- forced: FORCED
- }, {
- sinh: function sinh(x) {
- return abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (E / 2);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.tanh.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.tanh.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsMathTanhJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var expm1 = __webpack_require__(
- /*! ../internals/math-expm1 */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-expm1.js");
-
- var exp = Math.exp; // `Math.tanh` method
- // https://tc39.github.io/ecma262/#sec-math.tanh
-
- $({
- target: 'Math',
- stat: true
- }, {
- tanh: function tanh(x) {
- var a = expm1(x = +x);
- var b = expm1(-x);
- return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.to-string-tag.js":
- /*!**********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.to-string-tag.js ***!
- \**********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsMathToStringTagJs(module, exports, __webpack_require__) {
- var setToStringTag = __webpack_require__(
- /*! ../internals/set-to-string-tag */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-to-string-tag.js"); // Math[@@toStringTag] property
- // https://tc39.github.io/ecma262/#sec-math-@@tostringtag
-
-
- setToStringTag(Math, 'Math', true);
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.trunc.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.trunc.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsMathTruncJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var ceil = Math.ceil;
- var floor = Math.floor; // `Math.trunc` method
- // https://tc39.github.io/ecma262/#sec-math.trunc
-
- $({
- target: 'Math',
- stat: true
- }, {
- trunc: function trunc(it) {
- return (it > 0 ? floor : ceil)(it);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.constructor.js":
- /*!**********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.constructor.js ***!
- \**********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsNumberConstructorJs(module, exports, __webpack_require__) {
- "use strict";
-
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var isForced = __webpack_require__(
- /*! ../internals/is-forced */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-forced.js");
-
- var redefine = __webpack_require__(
- /*! ../internals/redefine */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js");
-
- var has = __webpack_require__(
- /*! ../internals/has */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-
- var classof = __webpack_require__(
- /*! ../internals/classof-raw */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js");
-
- var inheritIfRequired = __webpack_require__(
- /*! ../internals/inherit-if-required */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inherit-if-required.js");
-
- var toPrimitive = __webpack_require__(
- /*! ../internals/to-primitive */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-primitive.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var create = __webpack_require__(
- /*! ../internals/object-create */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-create.js");
-
- var getOwnPropertyNames = __webpack_require__(
- /*! ../internals/object-get-own-property-names */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names.js").f;
-
- var getOwnPropertyDescriptor = __webpack_require__(
- /*! ../internals/object-get-own-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
-
- var defineProperty = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js").f;
-
- var trim = __webpack_require__(
- /*! ../internals/string-trim */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-trim.js").trim;
-
- var NUMBER = 'Number';
- var NativeNumber = global[NUMBER];
- var NumberPrototype = NativeNumber.prototype; // Opera ~12 has broken Object#toString
-
- var BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER; // `ToNumber` abstract operation
- // https://tc39.github.io/ecma262/#sec-tonumber
-
- var toNumber = function toNumber(argument) {
- var it = toPrimitive(argument, false);
- var first, third, radix, maxCode, digits, length, index, code;
-
- if (typeof it == 'string' && it.length > 2) {
- it = trim(it);
- first = it.charCodeAt(0);
-
- if (first === 43 || first === 45) {
- third = it.charCodeAt(2);
- if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
- } else if (first === 48) {
- switch (it.charCodeAt(1)) {
- case 66:
- case 98:
- radix = 2;
- maxCode = 49;
- break;
- // fast equal of /^0b[01]+$/i
-
- case 79:
- case 111:
- radix = 8;
- maxCode = 55;
- break;
- // fast equal of /^0o[0-7]+$/i
-
- default:
- return +it;
- }
-
- digits = it.slice(2);
- length = digits.length;
-
- for (index = 0; index < length; index++) {
- code = digits.charCodeAt(index); // parseInt parses a string to a first unavailable symbol
- // but ToNumber should return NaN if a string contains unavailable symbols
-
- if (code < 48 || code > maxCode) return NaN;
- }
-
- return parseInt(digits, radix);
- }
- }
-
- return +it;
- }; // `Number` constructor
- // https://tc39.github.io/ecma262/#sec-number-constructor
-
-
- if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {
- var NumberWrapper = function Number(value) {
- var it = arguments.length < 1 ? 0 : value;
- var dummy = this;
- return dummy instanceof NumberWrapper // check on 1..constructor(foo) case
- && (BROKEN_CLASSOF ? fails(function () {
- NumberPrototype.valueOf.call(dummy);
- }) : classof(dummy) != NUMBER) ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);
- };
-
- for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : ( // ES3:
- 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + // ES2015 (in case, if modules with ES2015 Number statics required before):
- 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger').split(','), j = 0, key; keys.length > j; j++) {
- if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {
- defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));
- }
- }
-
- NumberWrapper.prototype = NumberPrototype;
- NumberPrototype.constructor = NumberWrapper;
- redefine(global, NUMBER, NumberWrapper);
- }
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.epsilon.js":
- /*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.epsilon.js ***!
- \******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsNumberEpsilonJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js"); // `Number.EPSILON` constant
- // https://tc39.github.io/ecma262/#sec-number.epsilon
-
-
- $({
- target: 'Number',
- stat: true
- }, {
- EPSILON: Math.pow(2, -52)
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-finite.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-finite.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsNumberIsFiniteJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var numberIsFinite = __webpack_require__(
- /*! ../internals/number-is-finite */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/number-is-finite.js"); // `Number.isFinite` method
- // https://tc39.github.io/ecma262/#sec-number.isfinite
-
-
- $({
- target: 'Number',
- stat: true
- }, {
- isFinite: numberIsFinite
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-integer.js":
- /*!*********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-integer.js ***!
- \*********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsNumberIsIntegerJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var isInteger = __webpack_require__(
- /*! ../internals/is-integer */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-integer.js"); // `Number.isInteger` method
- // https://tc39.github.io/ecma262/#sec-number.isinteger
-
-
- $({
- target: 'Number',
- stat: true
- }, {
- isInteger: isInteger
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-nan.js":
- /*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-nan.js ***!
- \*****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsNumberIsNanJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js"); // `Number.isNaN` method
- // https://tc39.github.io/ecma262/#sec-number.isnan
-
-
- $({
- target: 'Number',
- stat: true
- }, {
- isNaN: function isNaN(number) {
- // eslint-disable-next-line no-self-compare
- return number != number;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-safe-integer.js":
- /*!**************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-safe-integer.js ***!
- \**************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsNumberIsSafeIntegerJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var isInteger = __webpack_require__(
- /*! ../internals/is-integer */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-integer.js");
-
- var abs = Math.abs; // `Number.isSafeInteger` method
- // https://tc39.github.io/ecma262/#sec-number.issafeinteger
-
- $({
- target: 'Number',
- stat: true
- }, {
- isSafeInteger: function isSafeInteger(number) {
- return isInteger(number) && abs(number) <= 0x1FFFFFFFFFFFFF;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.max-safe-integer.js":
- /*!***************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.max-safe-integer.js ***!
- \***************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsNumberMaxSafeIntegerJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js"); // `Number.MAX_SAFE_INTEGER` constant
- // https://tc39.github.io/ecma262/#sec-number.max_safe_integer
-
-
- $({
- target: 'Number',
- stat: true
- }, {
- MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.min-safe-integer.js":
- /*!***************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.min-safe-integer.js ***!
- \***************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsNumberMinSafeIntegerJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js"); // `Number.MIN_SAFE_INTEGER` constant
- // https://tc39.github.io/ecma262/#sec-number.min_safe_integer
-
-
- $({
- target: 'Number',
- stat: true
- }, {
- MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.parse-float.js":
- /*!**********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.parse-float.js ***!
- \**********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsNumberParseFloatJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var parseFloat = __webpack_require__(
- /*! ../internals/number-parse-float */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/number-parse-float.js"); // `Number.parseFloat` method
- // https://tc39.github.io/ecma262/#sec-number.parseFloat
-
-
- $({
- target: 'Number',
- stat: true,
- forced: Number.parseFloat != parseFloat
- }, {
- parseFloat: parseFloat
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.parse-int.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.parse-int.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsNumberParseIntJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var parseInt = __webpack_require__(
- /*! ../internals/number-parse-int */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/number-parse-int.js"); // `Number.parseInt` method
- // https://tc39.github.io/ecma262/#sec-number.parseint
-
-
- $({
- target: 'Number',
- stat: true,
- forced: Number.parseInt != parseInt
- }, {
- parseInt: parseInt
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.to-fixed.js":
- /*!*******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.to-fixed.js ***!
- \*******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsNumberToFixedJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var toInteger = __webpack_require__(
- /*! ../internals/to-integer */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-integer.js");
-
- var thisNumberValue = __webpack_require__(
- /*! ../internals/this-number-value */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/this-number-value.js");
-
- var repeat = __webpack_require__(
- /*! ../internals/string-repeat */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-repeat.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var nativeToFixed = 1.0.toFixed;
- var floor = Math.floor;
-
- var pow = function pow(x, n, acc) {
- return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);
- };
-
- var log = function log(x) {
- var n = 0;
- var x2 = x;
-
- while (x2 >= 4096) {
- n += 12;
- x2 /= 4096;
- }
-
- while (x2 >= 2) {
- n += 1;
- x2 /= 2;
- }
-
- return n;
- };
-
- var FORCED = nativeToFixed && (0.00008.toFixed(3) !== '0.000' || 0.9.toFixed(0) !== '1' || 1.255.toFixed(2) !== '1.25' || 1000000000000000128.0.toFixed(0) !== '1000000000000000128') || !fails(function () {
- // V8 ~ Android 4.3-
- nativeToFixed.call({});
- }); // `Number.prototype.toFixed` method
- // https://tc39.github.io/ecma262/#sec-number.prototype.tofixed
-
- $({
- target: 'Number',
- proto: true,
- forced: FORCED
- }, {
- // eslint-disable-next-line max-statements
- toFixed: function toFixed(fractionDigits) {
- var number = thisNumberValue(this);
- var fractDigits = toInteger(fractionDigits);
- var data = [0, 0, 0, 0, 0, 0];
- var sign = '';
- var result = '0';
- var e, z, j, k;
-
- var multiply = function multiply(n, c) {
- var index = -1;
- var c2 = c;
-
- while (++index < 6) {
- c2 += n * data[index];
- data[index] = c2 % 1e7;
- c2 = floor(c2 / 1e7);
- }
- };
-
- var divide = function divide(n) {
- var index = 6;
- var c = 0;
-
- while (--index >= 0) {
- c += data[index];
- data[index] = floor(c / n);
- c = c % n * 1e7;
- }
- };
-
- var dataToString = function dataToString() {
- var index = 6;
- var s = '';
-
- while (--index >= 0) {
- if (s !== '' || index === 0 || data[index] !== 0) {
- var t = String(data[index]);
- s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t;
- }
- }
-
- return s;
- };
-
- if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits'); // eslint-disable-next-line no-self-compare
-
- if (number != number) return 'NaN';
- if (number <= -1e21 || number >= 1e21) return String(number);
-
- if (number < 0) {
- sign = '-';
- number = -number;
- }
-
- if (number > 1e-21) {
- e = log(number * pow(2, 69, 1)) - 69;
- z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);
- z *= 0x10000000000000;
- e = 52 - e;
-
- if (e > 0) {
- multiply(0, z);
- j = fractDigits;
-
- while (j >= 7) {
- multiply(1e7, 0);
- j -= 7;
- }
-
- multiply(pow(10, j, 1), 0);
- j = e - 1;
-
- while (j >= 23) {
- divide(1 << 23);
- j -= 23;
- }
-
- divide(1 << j);
- multiply(1, 1);
- divide(2);
- result = dataToString();
- } else {
- multiply(0, z);
- multiply(1 << -e, 0);
- result = dataToString() + repeat.call('0', fractDigits);
- }
- }
-
- if (fractDigits > 0) {
- k = result.length;
- result = sign + (k <= fractDigits ? '0.' + repeat.call('0', fractDigits - k) + result : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));
- } else {
- result = sign + result;
- }
-
- return result;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.to-precision.js":
- /*!***********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.to-precision.js ***!
- \***********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsNumberToPrecisionJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var thisNumberValue = __webpack_require__(
- /*! ../internals/this-number-value */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/this-number-value.js");
-
- var nativeToPrecision = 1.0.toPrecision;
- var FORCED = fails(function () {
- // IE7-
- return nativeToPrecision.call(1, undefined) !== '1';
- }) || !fails(function () {
- // V8 ~ Android 4.3-
- nativeToPrecision.call({});
- }); // `Number.prototype.toPrecision` method
- // https://tc39.github.io/ecma262/#sec-number.prototype.toprecision
-
- $({
- target: 'Number',
- proto: true,
- forced: FORCED
- }, {
- toPrecision: function toPrecision(precision) {
- return precision === undefined ? nativeToPrecision.call(thisNumberValue(this)) : nativeToPrecision.call(thisNumberValue(this), precision);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.assign.js":
- /*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.assign.js ***!
- \*****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsObjectAssignJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var assign = __webpack_require__(
- /*! ../internals/object-assign */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-assign.js"); // `Object.assign` method
- // https://tc39.github.io/ecma262/#sec-object.assign
-
-
- $({
- target: 'Object',
- stat: true,
- forced: Object.assign !== assign
- }, {
- assign: assign
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.create.js":
- /*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.create.js ***!
- \*****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsObjectCreateJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var create = __webpack_require__(
- /*! ../internals/object-create */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-create.js"); // `Object.create` method
- // https://tc39.github.io/ecma262/#sec-object.create
-
-
- $({
- target: 'Object',
- stat: true,
- sham: !DESCRIPTORS
- }, {
- create: create
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.define-properties.js":
- /*!****************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.define-properties.js ***!
- \****************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsObjectDefinePropertiesJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var defineProperties = __webpack_require__(
- /*! ../internals/object-define-properties */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-properties.js"); // `Object.defineProperties` method
- // https://tc39.github.io/ecma262/#sec-object.defineproperties
-
-
- $({
- target: 'Object',
- stat: true,
- forced: !DESCRIPTORS,
- sham: !DESCRIPTORS
- }, {
- defineProperties: defineProperties
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.define-property.js":
- /*!**************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.define-property.js ***!
- \**************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsObjectDefinePropertyJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var objectDefinePropertyModile = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js"); // `Object.defineProperty` method
- // https://tc39.github.io/ecma262/#sec-object.defineproperty
-
-
- $({
- target: 'Object',
- stat: true,
- forced: !DESCRIPTORS,
- sham: !DESCRIPTORS
- }, {
- defineProperty: objectDefinePropertyModile.f
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.freeze.js":
- /*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.freeze.js ***!
- \*****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsObjectFreezeJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var FREEZING = __webpack_require__(
- /*! ../internals/freezing */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/freezing.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var onFreeze = __webpack_require__(
- /*! ../internals/internal-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js").onFreeze;
-
- var nativeFreeze = Object.freeze;
- var FAILS_ON_PRIMITIVES = fails(function () {
- nativeFreeze(1);
- }); // `Object.freeze` method
- // https://tc39.github.io/ecma262/#sec-object.freeze
-
- $({
- target: 'Object',
- stat: true,
- forced: FAILS_ON_PRIMITIVES,
- sham: !FREEZING
- }, {
- freeze: function freeze(it) {
- return nativeFreeze && isObject(it) ? nativeFreeze(onFreeze(it)) : it;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.get-own-property-descriptor.js":
- /*!**************************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.get-own-property-descriptor.js ***!
- \**************************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsObjectGetOwnPropertyDescriptorJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var toIndexedObject = __webpack_require__(
- /*! ../internals/to-indexed-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js");
-
- var nativeGetOwnPropertyDescriptor = __webpack_require__(
- /*! ../internals/object-get-own-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
-
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var FAILS_ON_PRIMITIVES = fails(function () {
- nativeGetOwnPropertyDescriptor(1);
- });
- var FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES; // `Object.getOwnPropertyDescriptor` method
- // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-
- $({
- target: 'Object',
- stat: true,
- forced: FORCED,
- sham: !DESCRIPTORS
- }, {
- getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {
- return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.get-own-property-names.js":
- /*!*********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.get-own-property-names.js ***!
- \*********************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsObjectGetOwnPropertyNamesJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var nativeGetOwnPropertyNames = __webpack_require__(
- /*! ../internals/object-get-own-property-names-external */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names-external.js").f;
-
- var FAILS_ON_PRIMITIVES = fails(function () {
- return !Object.getOwnPropertyNames(1);
- }); // `Object.getOwnPropertyNames` method
- // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-
- $({
- target: 'Object',
- stat: true,
- forced: FAILS_ON_PRIMITIVES
- }, {
- getOwnPropertyNames: nativeGetOwnPropertyNames
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.get-prototype-of.js":
- /*!***************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.get-prototype-of.js ***!
- \***************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsObjectGetPrototypeOfJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var toObject = __webpack_require__(
- /*! ../internals/to-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js");
-
- var nativeGetPrototypeOf = __webpack_require__(
- /*! ../internals/object-get-prototype-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js");
-
- var CORRECT_PROTOTYPE_GETTER = __webpack_require__(
- /*! ../internals/correct-prototype-getter */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-prototype-getter.js");
-
- var FAILS_ON_PRIMITIVES = fails(function () {
- nativeGetPrototypeOf(1);
- }); // `Object.getPrototypeOf` method
- // https://tc39.github.io/ecma262/#sec-object.getprototypeof
-
- $({
- target: 'Object',
- stat: true,
- forced: FAILS_ON_PRIMITIVES,
- sham: !CORRECT_PROTOTYPE_GETTER
- }, {
- getPrototypeOf: function getPrototypeOf(it) {
- return nativeGetPrototypeOf(toObject(it));
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is-extensible.js":
- /*!************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is-extensible.js ***!
- \************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsObjectIsExtensibleJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var nativeIsExtensible = Object.isExtensible;
- var FAILS_ON_PRIMITIVES = fails(function () {
- nativeIsExtensible(1);
- }); // `Object.isExtensible` method
- // https://tc39.github.io/ecma262/#sec-object.isextensible
-
- $({
- target: 'Object',
- stat: true,
- forced: FAILS_ON_PRIMITIVES
- }, {
- isExtensible: function isExtensible(it) {
- return isObject(it) ? nativeIsExtensible ? nativeIsExtensible(it) : true : false;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is-frozen.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is-frozen.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsObjectIsFrozenJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var nativeIsFrozen = Object.isFrozen;
- var FAILS_ON_PRIMITIVES = fails(function () {
- nativeIsFrozen(1);
- }); // `Object.isFrozen` method
- // https://tc39.github.io/ecma262/#sec-object.isfrozen
-
- $({
- target: 'Object',
- stat: true,
- forced: FAILS_ON_PRIMITIVES
- }, {
- isFrozen: function isFrozen(it) {
- return isObject(it) ? nativeIsFrozen ? nativeIsFrozen(it) : false : true;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is-sealed.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is-sealed.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsObjectIsSealedJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var nativeIsSealed = Object.isSealed;
- var FAILS_ON_PRIMITIVES = fails(function () {
- nativeIsSealed(1);
- }); // `Object.isSealed` method
- // https://tc39.github.io/ecma262/#sec-object.issealed
-
- $({
- target: 'Object',
- stat: true,
- forced: FAILS_ON_PRIMITIVES
- }, {
- isSealed: function isSealed(it) {
- return isObject(it) ? nativeIsSealed ? nativeIsSealed(it) : false : true;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsObjectIsJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var is = __webpack_require__(
- /*! ../internals/same-value */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/same-value.js"); // `Object.is` method
- // https://tc39.github.io/ecma262/#sec-object.is
-
-
- $({
- target: 'Object',
- stat: true
- }, {
- is: is
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.keys.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.keys.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsObjectKeysJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var toObject = __webpack_require__(
- /*! ../internals/to-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js");
-
- var nativeKeys = __webpack_require__(
- /*! ../internals/object-keys */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var FAILS_ON_PRIMITIVES = fails(function () {
- nativeKeys(1);
- }); // `Object.keys` method
- // https://tc39.github.io/ecma262/#sec-object.keys
-
- $({
- target: 'Object',
- stat: true,
- forced: FAILS_ON_PRIMITIVES
- }, {
- keys: function keys(it) {
- return nativeKeys(toObject(it));
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.prevent-extensions.js":
- /*!*****************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.prevent-extensions.js ***!
- \*****************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsObjectPreventExtensionsJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var onFreeze = __webpack_require__(
- /*! ../internals/internal-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js").onFreeze;
-
- var FREEZING = __webpack_require__(
- /*! ../internals/freezing */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/freezing.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var nativePreventExtensions = Object.preventExtensions;
- var FAILS_ON_PRIMITIVES = fails(function () {
- nativePreventExtensions(1);
- }); // `Object.preventExtensions` method
- // https://tc39.github.io/ecma262/#sec-object.preventextensions
-
- $({
- target: 'Object',
- stat: true,
- forced: FAILS_ON_PRIMITIVES,
- sham: !FREEZING
- }, {
- preventExtensions: function preventExtensions(it) {
- return nativePreventExtensions && isObject(it) ? nativePreventExtensions(onFreeze(it)) : it;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.seal.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.seal.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsObjectSealJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var onFreeze = __webpack_require__(
- /*! ../internals/internal-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js").onFreeze;
-
- var FREEZING = __webpack_require__(
- /*! ../internals/freezing */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/freezing.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var nativeSeal = Object.seal;
- var FAILS_ON_PRIMITIVES = fails(function () {
- nativeSeal(1);
- }); // `Object.seal` method
- // https://tc39.github.io/ecma262/#sec-object.seal
-
- $({
- target: 'Object',
- stat: true,
- forced: FAILS_ON_PRIMITIVES,
- sham: !FREEZING
- }, {
- seal: function seal(it) {
- return nativeSeal && isObject(it) ? nativeSeal(onFreeze(it)) : it;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.set-prototype-of.js":
- /*!***************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.set-prototype-of.js ***!
- \***************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsObjectSetPrototypeOfJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var setPrototypeOf = __webpack_require__(
- /*! ../internals/object-set-prototype-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-set-prototype-of.js"); // `Object.setPrototypeOf` method
- // https://tc39.github.io/ecma262/#sec-object.setprototypeof
-
-
- $({
- target: 'Object',
- stat: true
- }, {
- setPrototypeOf: setPrototypeOf
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.to-string.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.to-string.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsObjectToStringJs(module, exports, __webpack_require__) {
- var TO_STRING_TAG_SUPPORT = __webpack_require__(
- /*! ../internals/to-string-tag-support */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-string-tag-support.js");
-
- var redefine = __webpack_require__(
- /*! ../internals/redefine */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js");
-
- var toString = __webpack_require__(
- /*! ../internals/object-to-string */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-to-string.js"); // `Object.prototype.toString` method
- // https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-
-
- if (!TO_STRING_TAG_SUPPORT) {
- redefine(Object.prototype, 'toString', toString, {
- unsafe: true
- });
- }
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.parse-float.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.parse-float.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsParseFloatJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var parseFloatImplementation = __webpack_require__(
- /*! ../internals/number-parse-float */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/number-parse-float.js"); // `parseFloat` method
- // https://tc39.github.io/ecma262/#sec-parsefloat-string
-
-
- $({
- global: true,
- forced: parseFloat != parseFloatImplementation
- }, {
- parseFloat: parseFloatImplementation
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.parse-int.js":
- /*!*************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.parse-int.js ***!
- \*************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsParseIntJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var parseIntImplementation = __webpack_require__(
- /*! ../internals/number-parse-int */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/number-parse-int.js"); // `parseInt` method
- // https://tc39.github.io/ecma262/#sec-parseint-string-radix
-
-
- $({
- global: true,
- forced: parseInt != parseIntImplementation
- }, {
- parseInt: parseIntImplementation
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.promise.js":
- /*!***********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.promise.js ***!
- \***********************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsPromiseJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var IS_PURE = __webpack_require__(
- /*! ../internals/is-pure */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-pure.js");
-
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var getBuiltIn = __webpack_require__(
- /*! ../internals/get-built-in */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js");
-
- var NativePromise = __webpack_require__(
- /*! ../internals/native-promise-constructor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-promise-constructor.js");
-
- var redefine = __webpack_require__(
- /*! ../internals/redefine */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js");
-
- var redefineAll = __webpack_require__(
- /*! ../internals/redefine-all */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine-all.js");
-
- var setToStringTag = __webpack_require__(
- /*! ../internals/set-to-string-tag */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-to-string-tag.js");
-
- var setSpecies = __webpack_require__(
- /*! ../internals/set-species */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-species.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var aFunction = __webpack_require__(
- /*! ../internals/a-function */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-function.js");
-
- var anInstance = __webpack_require__(
- /*! ../internals/an-instance */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-instance.js");
-
- var classof = __webpack_require__(
- /*! ../internals/classof-raw */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js");
-
- var inspectSource = __webpack_require__(
- /*! ../internals/inspect-source */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inspect-source.js");
-
- var iterate = __webpack_require__(
- /*! ../internals/iterate */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterate.js");
-
- var checkCorrectnessOfIteration = __webpack_require__(
- /*! ../internals/check-correctness-of-iteration */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/check-correctness-of-iteration.js");
-
- var speciesConstructor = __webpack_require__(
- /*! ../internals/species-constructor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/species-constructor.js");
-
- var task = __webpack_require__(
- /*! ../internals/task */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/task.js").set;
-
- var microtask = __webpack_require__(
- /*! ../internals/microtask */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/microtask.js");
-
- var promiseResolve = __webpack_require__(
- /*! ../internals/promise-resolve */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/promise-resolve.js");
-
- var hostReportErrors = __webpack_require__(
- /*! ../internals/host-report-errors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/host-report-errors.js");
-
- var newPromiseCapabilityModule = __webpack_require__(
- /*! ../internals/new-promise-capability */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/new-promise-capability.js");
-
- var perform = __webpack_require__(
- /*! ../internals/perform */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/perform.js");
-
- var InternalStateModule = __webpack_require__(
- /*! ../internals/internal-state */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js");
-
- var isForced = __webpack_require__(
- /*! ../internals/is-forced */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-forced.js");
-
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var V8_VERSION = __webpack_require__(
- /*! ../internals/engine-v8-version */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-v8-version.js");
-
- var SPECIES = wellKnownSymbol('species');
- var PROMISE = 'Promise';
- var getInternalState = InternalStateModule.get;
- var setInternalState = InternalStateModule.set;
- var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
- var PromiseConstructor = NativePromise;
- var TypeError = global.TypeError;
- var document = global.document;
- var process = global.process;
- var $fetch = getBuiltIn('fetch');
- var newPromiseCapability = newPromiseCapabilityModule.f;
- var newGenericPromiseCapability = newPromiseCapability;
- var IS_NODE = classof(process) == 'process';
- var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);
- var UNHANDLED_REJECTION = 'unhandledrejection';
- var REJECTION_HANDLED = 'rejectionhandled';
- var PENDING = 0;
- var FULFILLED = 1;
- var REJECTED = 2;
- var HANDLED = 1;
- var UNHANDLED = 2;
- var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
- var FORCED = isForced(PROMISE, function () {
- var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);
-
- if (!GLOBAL_CORE_JS_PROMISE) {
- // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
- // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
- // We can't detect it synchronously, so just check versions
- if (V8_VERSION === 66) return true; // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
-
- if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;
- } // We need Promise#finally in the pure version for preventing prototype pollution
-
-
- if (IS_PURE && !PromiseConstructor.prototype['finally']) return true; // We can't use @@species feature detection in V8 since it causes
- // deoptimization and performance degradation
- // https://github.com/zloirock/core-js/issues/679
-
- if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false; // Detect correctness of subclassing with @@species support
-
- var promise = PromiseConstructor.resolve(1);
-
- var FakePromise = function FakePromise(exec) {
- exec(function () {
- /* empty */
- }, function () {
- /* empty */
- });
- };
-
- var constructor = promise.constructor = {};
- constructor[SPECIES] = FakePromise;
- return !(promise.then(function () {
- /* empty */
- }) instanceof FakePromise);
- });
- var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
- PromiseConstructor.all(iterable)['catch'](function () {
- /* empty */
- });
- }); // helpers
-
- var isThenable = function isThenable(it) {
- var then;
- return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
- };
-
- var notify = function notify(promise, state, isReject) {
- if (state.notified) return;
- state.notified = true;
- var chain = state.reactions;
- microtask(function () {
- var value = state.value;
- var ok = state.state == FULFILLED;
- var index = 0; // variable length - can't use forEach
-
- while (chain.length > index) {
- var reaction = chain[index++];
- var handler = ok ? reaction.ok : reaction.fail;
- var resolve = reaction.resolve;
- var reject = reaction.reject;
- var domain = reaction.domain;
- var result, then, exited;
-
- try {
- if (handler) {
- if (!ok) {
- if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);
- state.rejection = HANDLED;
- }
-
- if (handler === true) result = value;else {
- if (domain) domain.enter();
- result = handler(value); // can throw
-
- if (domain) {
- domain.exit();
- exited = true;
- }
- }
-
- if (result === reaction.promise) {
- reject(TypeError('Promise-chain cycle'));
- } else if (then = isThenable(result)) {
- then.call(result, resolve, reject);
- } else resolve(result);
- } else reject(value);
- } catch (error) {
- if (domain && !exited) domain.exit();
- reject(error);
- }
- }
-
- state.reactions = [];
- state.notified = false;
- if (isReject && !state.rejection) onUnhandled(promise, state);
- });
- };
-
- var dispatchEvent = function dispatchEvent(name, promise, reason) {
- var event, handler;
-
- if (DISPATCH_EVENT) {
- event = document.createEvent('Event');
- event.promise = promise;
- event.reason = reason;
- event.initEvent(name, false, true);
- global.dispatchEvent(event);
- } else event = {
- promise: promise,
- reason: reason
- };
-
- if (handler = global['on' + name]) handler(event);else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
- };
-
- var onUnhandled = function onUnhandled(promise, state) {
- task.call(global, function () {
- var value = state.value;
- var IS_UNHANDLED = isUnhandled(state);
- var result;
-
- if (IS_UNHANDLED) {
- result = perform(function () {
- if (IS_NODE) {
- process.emit('unhandledRejection', value, promise);
- } else dispatchEvent(UNHANDLED_REJECTION, promise, value);
- }); // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
-
- state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
- if (result.error) throw result.value;
- }
- });
- };
-
- var isUnhandled = function isUnhandled(state) {
- return state.rejection !== HANDLED && !state.parent;
- };
-
- var onHandleUnhandled = function onHandleUnhandled(promise, state) {
- task.call(global, function () {
- if (IS_NODE) {
- process.emit('rejectionHandled', promise);
- } else dispatchEvent(REJECTION_HANDLED, promise, state.value);
- });
- };
-
- var bind = function bind(fn, promise, state, unwrap) {
- return function (value) {
- fn(promise, state, value, unwrap);
- };
- };
-
- var internalReject = function internalReject(promise, state, value, unwrap) {
- if (state.done) return;
- state.done = true;
- if (unwrap) state = unwrap;
- state.value = value;
- state.state = REJECTED;
- notify(promise, state, true);
- };
-
- var internalResolve = function internalResolve(promise, state, value, unwrap) {
- if (state.done) return;
- state.done = true;
- if (unwrap) state = unwrap;
-
- try {
- if (promise === value) throw TypeError("Promise can't be resolved itself");
- var then = isThenable(value);
-
- if (then) {
- microtask(function () {
- var wrapper = {
- done: false
- };
-
- try {
- then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, state));
- } catch (error) {
- internalReject(promise, wrapper, error, state);
- }
- });
- } else {
- state.value = value;
- state.state = FULFILLED;
- notify(promise, state, false);
- }
- } catch (error) {
- internalReject(promise, {
- done: false
- }, error, state);
- }
- }; // constructor polyfill
-
-
- if (FORCED) {
- // 25.4.3.1 Promise(executor)
- PromiseConstructor = function Promise(executor) {
- anInstance(this, PromiseConstructor, PROMISE);
- aFunction(executor);
- Internal.call(this);
- var state = getInternalState(this);
-
- try {
- executor(bind(internalResolve, this, state), bind(internalReject, this, state));
- } catch (error) {
- internalReject(this, state, error);
- }
- }; // eslint-disable-next-line no-unused-vars
-
-
- Internal = function Promise(executor) {
- setInternalState(this, {
- type: PROMISE,
- done: false,
- notified: false,
- parent: false,
- reactions: [],
- rejection: false,
- state: PENDING,
- value: undefined
- });
- };
-
- Internal.prototype = redefineAll(PromiseConstructor.prototype, {
- // `Promise.prototype.then` method
- // https://tc39.github.io/ecma262/#sec-promise.prototype.then
- then: function then(onFulfilled, onRejected) {
- var state = getInternalPromiseState(this);
- var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
- reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
- reaction.fail = typeof onRejected == 'function' && onRejected;
- reaction.domain = IS_NODE ? process.domain : undefined;
- state.parent = true;
- state.reactions.push(reaction);
- if (state.state != PENDING) notify(this, state, false);
- return reaction.promise;
- },
- // `Promise.prototype.catch` method
- // https://tc39.github.io/ecma262/#sec-promise.prototype.catch
- 'catch': function _catch(onRejected) {
- return this.then(undefined, onRejected);
- }
- });
-
- OwnPromiseCapability = function OwnPromiseCapability() {
- var promise = new Internal();
- var state = getInternalState(promise);
- this.promise = promise;
- this.resolve = bind(internalResolve, promise, state);
- this.reject = bind(internalReject, promise, state);
- };
-
- newPromiseCapabilityModule.f = newPromiseCapability = function newPromiseCapability(C) {
- return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);
- };
-
- if (!IS_PURE && typeof NativePromise == 'function') {
- nativeThen = NativePromise.prototype.then; // wrap native Promise#then for native async functions
-
- redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {
- var that = this;
- return new PromiseConstructor(function (resolve, reject) {
- nativeThen.call(that, resolve, reject);
- }).then(onFulfilled, onRejected); // https://github.com/zloirock/core-js/issues/640
- }, {
- unsafe: true
- }); // wrap fetch result
-
- if (typeof $fetch == 'function') $({
- global: true,
- enumerable: true,
- forced: true
- }, {
- // eslint-disable-next-line no-unused-vars
- fetch: function fetch(input
- /* , init */
- ) {
- return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));
- }
- });
- }
- }
-
- $({
- global: true,
- wrap: true,
- forced: FORCED
- }, {
- Promise: PromiseConstructor
- });
- setToStringTag(PromiseConstructor, PROMISE, false, true);
- setSpecies(PROMISE);
- PromiseWrapper = getBuiltIn(PROMISE); // statics
-
- $({
- target: PROMISE,
- stat: true,
- forced: FORCED
- }, {
- // `Promise.reject` method
- // https://tc39.github.io/ecma262/#sec-promise.reject
- reject: function reject(r) {
- var capability = newPromiseCapability(this);
- capability.reject.call(undefined, r);
- return capability.promise;
- }
- });
- $({
- target: PROMISE,
- stat: true,
- forced: IS_PURE || FORCED
- }, {
- // `Promise.resolve` method
- // https://tc39.github.io/ecma262/#sec-promise.resolve
- resolve: function resolve(x) {
- return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
- }
- });
- $({
- target: PROMISE,
- stat: true,
- forced: INCORRECT_ITERATION
- }, {
- // `Promise.all` method
- // https://tc39.github.io/ecma262/#sec-promise.all
- all: function all(iterable) {
- var C = this;
- var capability = newPromiseCapability(C);
- var resolve = capability.resolve;
- var reject = capability.reject;
- var result = perform(function () {
- var $promiseResolve = aFunction(C.resolve);
- var values = [];
- var counter = 0;
- var remaining = 1;
- iterate(iterable, function (promise) {
- var index = counter++;
- var alreadyCalled = false;
- values.push(undefined);
- remaining++;
- $promiseResolve.call(C, promise).then(function (value) {
- if (alreadyCalled) return;
- alreadyCalled = true;
- values[index] = value;
- --remaining || resolve(values);
- }, reject);
- });
- --remaining || resolve(values);
- });
- if (result.error) reject(result.value);
- return capability.promise;
- },
- // `Promise.race` method
- // https://tc39.github.io/ecma262/#sec-promise.race
- race: function race(iterable) {
- var C = this;
- var capability = newPromiseCapability(C);
- var reject = capability.reject;
- var result = perform(function () {
- var $promiseResolve = aFunction(C.resolve);
- iterate(iterable, function (promise) {
- $promiseResolve.call(C, promise).then(capability.resolve, reject);
- });
- });
- if (result.error) reject(result.value);
- return capability.promise;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.apply.js":
- /*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.apply.js ***!
- \*****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsReflectApplyJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var getBuiltIn = __webpack_require__(
- /*! ../internals/get-built-in */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js");
-
- var aFunction = __webpack_require__(
- /*! ../internals/a-function */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-function.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var nativeApply = getBuiltIn('Reflect', 'apply');
- var functionApply = Function.apply; // MS Edge argumentsList argument is optional
-
- var OPTIONAL_ARGUMENTS_LIST = !fails(function () {
- nativeApply(function () {
- /* empty */
- });
- }); // `Reflect.apply` method
- // https://tc39.github.io/ecma262/#sec-reflect.apply
-
- $({
- target: 'Reflect',
- stat: true,
- forced: OPTIONAL_ARGUMENTS_LIST
- }, {
- apply: function apply(target, thisArgument, argumentsList) {
- aFunction(target);
- anObject(argumentsList);
- return nativeApply ? nativeApply(target, thisArgument, argumentsList) : functionApply.call(target, thisArgument, argumentsList);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.construct.js":
- /*!*********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.construct.js ***!
- \*********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsReflectConstructJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var getBuiltIn = __webpack_require__(
- /*! ../internals/get-built-in */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js");
-
- var aFunction = __webpack_require__(
- /*! ../internals/a-function */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-function.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var create = __webpack_require__(
- /*! ../internals/object-create */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-create.js");
-
- var bind = __webpack_require__(
- /*! ../internals/function-bind */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var nativeConstruct = getBuiltIn('Reflect', 'construct'); // `Reflect.construct` method
- // https://tc39.github.io/ecma262/#sec-reflect.construct
- // MS Edge supports only 2 arguments and argumentsList argument is optional
- // FF Nightly sets third argument as `new.target`, but does not create `this` from it
-
- var NEW_TARGET_BUG = fails(function () {
- function F() {
- /* empty */
- }
-
- return !(nativeConstruct(function () {
- /* empty */
- }, [], F) instanceof F);
- });
- var ARGS_BUG = !fails(function () {
- nativeConstruct(function () {
- /* empty */
- });
- });
- var FORCED = NEW_TARGET_BUG || ARGS_BUG;
- $({
- target: 'Reflect',
- stat: true,
- forced: FORCED,
- sham: FORCED
- }, {
- construct: function construct(Target, args
- /* , newTarget */
- ) {
- aFunction(Target);
- anObject(args);
- var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
- if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);
-
- if (Target == newTarget) {
- // w/o altered newTarget, optimization for 0-4 arguments
- switch (args.length) {
- case 0:
- return new Target();
-
- case 1:
- return new Target(args[0]);
-
- case 2:
- return new Target(args[0], args[1]);
-
- case 3:
- return new Target(args[0], args[1], args[2]);
-
- case 4:
- return new Target(args[0], args[1], args[2], args[3]);
- } // w/o altered newTarget, lot of arguments case
-
-
- var $args = [null];
- $args.push.apply($args, args);
- return new (bind.apply(Target, $args))();
- } // with altered newTarget, not support built-in constructors
-
-
- var proto = newTarget.prototype;
- var instance = create(isObject(proto) ? proto : Object.prototype);
- var result = Function.apply.call(Target, instance, args);
- return isObject(result) ? result : instance;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.define-property.js":
- /*!***************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.define-property.js ***!
- \***************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsReflectDefinePropertyJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var toPrimitive = __webpack_require__(
- /*! ../internals/to-primitive */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-primitive.js");
-
- var definePropertyModule = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js"); // MS Edge has broken Reflect.defineProperty - throwing instead of returning false
-
-
- var ERROR_INSTEAD_OF_FALSE = fails(function () {
- // eslint-disable-next-line no-undef
- Reflect.defineProperty(definePropertyModule.f({}, 1, {
- value: 1
- }), 1, {
- value: 2
- });
- }); // `Reflect.defineProperty` method
- // https://tc39.github.io/ecma262/#sec-reflect.defineproperty
-
- $({
- target: 'Reflect',
- stat: true,
- forced: ERROR_INSTEAD_OF_FALSE,
- sham: !DESCRIPTORS
- }, {
- defineProperty: function defineProperty(target, propertyKey, attributes) {
- anObject(target);
- var key = toPrimitive(propertyKey, true);
- anObject(attributes);
-
- try {
- definePropertyModule.f(target, key, attributes);
- return true;
- } catch (error) {
- return false;
- }
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.delete-property.js":
- /*!***************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.delete-property.js ***!
- \***************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsReflectDeletePropertyJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var getOwnPropertyDescriptor = __webpack_require__(
- /*! ../internals/object-get-own-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js").f; // `Reflect.deleteProperty` method
- // https://tc39.github.io/ecma262/#sec-reflect.deleteproperty
-
-
- $({
- target: 'Reflect',
- stat: true
- }, {
- deleteProperty: function deleteProperty(target, propertyKey) {
- var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey);
- return descriptor && !descriptor.configurable ? false : delete target[propertyKey];
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js":
- /*!***************************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js ***!
- \***************************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsReflectGetOwnPropertyDescriptorJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var getOwnPropertyDescriptorModule = __webpack_require__(
- /*! ../internals/object-get-own-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js"); // `Reflect.getOwnPropertyDescriptor` method
- // https://tc39.github.io/ecma262/#sec-reflect.getownpropertydescriptor
-
-
- $({
- target: 'Reflect',
- stat: true,
- sham: !DESCRIPTORS
- }, {
- getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {
- return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.get-prototype-of.js":
- /*!****************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.get-prototype-of.js ***!
- \****************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsReflectGetPrototypeOfJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var objectGetPrototypeOf = __webpack_require__(
- /*! ../internals/object-get-prototype-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js");
-
- var CORRECT_PROTOTYPE_GETTER = __webpack_require__(
- /*! ../internals/correct-prototype-getter */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-prototype-getter.js"); // `Reflect.getPrototypeOf` method
- // https://tc39.github.io/ecma262/#sec-reflect.getprototypeof
-
-
- $({
- target: 'Reflect',
- stat: true,
- sham: !CORRECT_PROTOTYPE_GETTER
- }, {
- getPrototypeOf: function getPrototypeOf(target) {
- return objectGetPrototypeOf(anObject(target));
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.get.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.get.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsReflectGetJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var has = __webpack_require__(
- /*! ../internals/has */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-
- var getOwnPropertyDescriptorModule = __webpack_require__(
- /*! ../internals/object-get-own-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js");
-
- var getPrototypeOf = __webpack_require__(
- /*! ../internals/object-get-prototype-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js"); // `Reflect.get` method
- // https://tc39.github.io/ecma262/#sec-reflect.get
-
-
- function get(target, propertyKey
- /* , receiver */
- ) {
- var receiver = arguments.length < 3 ? target : arguments[2];
- var descriptor, prototype;
- if (anObject(target) === receiver) return target[propertyKey];
- if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value') ? descriptor.value : descriptor.get === undefined ? undefined : descriptor.get.call(receiver);
- if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver);
- }
-
- $({
- target: 'Reflect',
- stat: true
- }, {
- get: get
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.has.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.has.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsReflectHasJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js"); // `Reflect.has` method
- // https://tc39.github.io/ecma262/#sec-reflect.has
-
-
- $({
- target: 'Reflect',
- stat: true
- }, {
- has: function has(target, propertyKey) {
- return propertyKey in target;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.is-extensible.js":
- /*!*************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.is-extensible.js ***!
- \*************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsReflectIsExtensibleJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var objectIsExtensible = Object.isExtensible; // `Reflect.isExtensible` method
- // https://tc39.github.io/ecma262/#sec-reflect.isextensible
-
- $({
- target: 'Reflect',
- stat: true
- }, {
- isExtensible: function isExtensible(target) {
- anObject(target);
- return objectIsExtensible ? objectIsExtensible(target) : true;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.own-keys.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.own-keys.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsReflectOwnKeysJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var ownKeys = __webpack_require__(
- /*! ../internals/own-keys */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/own-keys.js"); // `Reflect.ownKeys` method
- // https://tc39.github.io/ecma262/#sec-reflect.ownkeys
-
-
- $({
- target: 'Reflect',
- stat: true
- }, {
- ownKeys: ownKeys
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.prevent-extensions.js":
- /*!******************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.prevent-extensions.js ***!
- \******************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsReflectPreventExtensionsJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var getBuiltIn = __webpack_require__(
- /*! ../internals/get-built-in */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var FREEZING = __webpack_require__(
- /*! ../internals/freezing */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/freezing.js"); // `Reflect.preventExtensions` method
- // https://tc39.github.io/ecma262/#sec-reflect.preventextensions
-
-
- $({
- target: 'Reflect',
- stat: true,
- sham: !FREEZING
- }, {
- preventExtensions: function preventExtensions(target) {
- anObject(target);
-
- try {
- var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions');
- if (objectPreventExtensions) objectPreventExtensions(target);
- return true;
- } catch (error) {
- return false;
- }
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.set-prototype-of.js":
- /*!****************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.set-prototype-of.js ***!
- \****************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsReflectSetPrototypeOfJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var aPossiblePrototype = __webpack_require__(
- /*! ../internals/a-possible-prototype */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-possible-prototype.js");
-
- var objectSetPrototypeOf = __webpack_require__(
- /*! ../internals/object-set-prototype-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-set-prototype-of.js"); // `Reflect.setPrototypeOf` method
- // https://tc39.github.io/ecma262/#sec-reflect.setprototypeof
-
-
- if (objectSetPrototypeOf) $({
- target: 'Reflect',
- stat: true
- }, {
- setPrototypeOf: function setPrototypeOf(target, proto) {
- anObject(target);
- aPossiblePrototype(proto);
-
- try {
- objectSetPrototypeOf(target, proto);
- return true;
- } catch (error) {
- return false;
- }
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.set.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.set.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsReflectSetJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var has = __webpack_require__(
- /*! ../internals/has */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var definePropertyModule = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js");
-
- var getOwnPropertyDescriptorModule = __webpack_require__(
- /*! ../internals/object-get-own-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js");
-
- var getPrototypeOf = __webpack_require__(
- /*! ../internals/object-get-prototype-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js");
-
- var createPropertyDescriptor = __webpack_require__(
- /*! ../internals/create-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property-descriptor.js"); // `Reflect.set` method
- // https://tc39.github.io/ecma262/#sec-reflect.set
-
-
- function set(target, propertyKey, V
- /* , receiver */
- ) {
- var receiver = arguments.length < 4 ? target : arguments[3];
- var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey);
- var existingDescriptor, prototype;
-
- if (!ownDescriptor) {
- if (isObject(prototype = getPrototypeOf(target))) {
- return set(prototype, propertyKey, V, receiver);
- }
-
- ownDescriptor = createPropertyDescriptor(0);
- }
-
- if (has(ownDescriptor, 'value')) {
- if (ownDescriptor.writable === false || !isObject(receiver)) return false;
-
- if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) {
- if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;
- existingDescriptor.value = V;
- definePropertyModule.f(receiver, propertyKey, existingDescriptor);
- } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V));
-
- return true;
- }
-
- return ownDescriptor.set === undefined ? false : (ownDescriptor.set.call(receiver, V), true);
- } // MS Edge 17-18 Reflect.set allows setting the property to object
- // with non-writable property on the prototype
-
-
- var MS_EDGE_BUG = fails(function () {
- var object = definePropertyModule.f({}, 'a', {
- configurable: true
- }); // eslint-disable-next-line no-undef
-
- return Reflect.set(getPrototypeOf(object), 'a', 1, object) !== false;
- });
- $({
- target: 'Reflect',
- stat: true,
- forced: MS_EDGE_BUG
- }, {
- set: set
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.constructor.js":
- /*!**********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.constructor.js ***!
- \**********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsRegexpConstructorJs(module, exports, __webpack_require__) {
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var isForced = __webpack_require__(
- /*! ../internals/is-forced */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-forced.js");
-
- var inheritIfRequired = __webpack_require__(
- /*! ../internals/inherit-if-required */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inherit-if-required.js");
-
- var defineProperty = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js").f;
-
- var getOwnPropertyNames = __webpack_require__(
- /*! ../internals/object-get-own-property-names */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names.js").f;
-
- var isRegExp = __webpack_require__(
- /*! ../internals/is-regexp */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-regexp.js");
-
- var getFlags = __webpack_require__(
- /*! ../internals/regexp-flags */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-flags.js");
-
- var stickyHelpers = __webpack_require__(
- /*! ../internals/regexp-sticky-helpers */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-sticky-helpers.js");
-
- var redefine = __webpack_require__(
- /*! ../internals/redefine */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var setInternalState = __webpack_require__(
- /*! ../internals/internal-state */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js").set;
-
- var setSpecies = __webpack_require__(
- /*! ../internals/set-species */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-species.js");
-
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var MATCH = wellKnownSymbol('match');
- var NativeRegExp = global.RegExp;
- var RegExpPrototype = NativeRegExp.prototype;
- var re1 = /a/g;
- var re2 = /a/g; // "new" should create a new object, old webkit bug
-
- var CORRECT_NEW = new NativeRegExp(re1) !== re1;
- var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;
- var FORCED = DESCRIPTORS && isForced('RegExp', !CORRECT_NEW || UNSUPPORTED_Y || fails(function () {
- re2[MATCH] = false; // RegExp constructor can alter flags and IsRegExp works correct with @@match
-
- return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';
- })); // `RegExp` constructor
- // https://tc39.github.io/ecma262/#sec-regexp-constructor
-
- if (FORCED) {
- var RegExpWrapper = function RegExp(pattern, flags) {
- var thisIsRegExp = this instanceof RegExpWrapper;
- var patternIsRegExp = isRegExp(pattern);
- var flagsAreUndefined = flags === undefined;
- var sticky;
-
- if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {
- return pattern;
- }
-
- if (CORRECT_NEW) {
- if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;
- } else if (pattern instanceof RegExpWrapper) {
- if (flagsAreUndefined) flags = getFlags.call(pattern);
- pattern = pattern.source;
- }
-
- if (UNSUPPORTED_Y) {
- sticky = !!flags && flags.indexOf('y') > -1;
- if (sticky) flags = flags.replace(/y/g, '');
- }
-
- var result = inheritIfRequired(CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);
- if (UNSUPPORTED_Y && sticky) setInternalState(result, {
- sticky: sticky
- });
- return result;
- };
-
- var proxy = function proxy(key) {
- key in RegExpWrapper || defineProperty(RegExpWrapper, key, {
- configurable: true,
- get: function get() {
- return NativeRegExp[key];
- },
- set: function set(it) {
- NativeRegExp[key] = it;
- }
- });
- };
-
- var keys = getOwnPropertyNames(NativeRegExp);
- var index = 0;
-
- while (keys.length > index) {
- proxy(keys[index++]);
- }
-
- RegExpPrototype.constructor = RegExpWrapper;
- RegExpWrapper.prototype = RegExpPrototype;
- redefine(global, 'RegExp', RegExpWrapper);
- } // https://tc39.github.io/ecma262/#sec-get-regexp-@@species
-
-
- setSpecies('RegExp');
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.exec.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.exec.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsRegexpExecJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var exec = __webpack_require__(
- /*! ../internals/regexp-exec */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-exec.js");
-
- $({
- target: 'RegExp',
- proto: true,
- forced: /./.exec !== exec
- }, {
- exec: exec
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.flags.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.flags.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsRegexpFlagsJs(module, exports, __webpack_require__) {
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var objectDefinePropertyModule = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js");
-
- var regExpFlags = __webpack_require__(
- /*! ../internals/regexp-flags */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-flags.js");
-
- var UNSUPPORTED_Y = __webpack_require__(
- /*! ../internals/regexp-sticky-helpers */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-sticky-helpers.js").UNSUPPORTED_Y; // `RegExp.prototype.flags` getter
- // https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
-
-
- if (DESCRIPTORS && (/./g.flags != 'g' || UNSUPPORTED_Y)) {
- objectDefinePropertyModule.f(RegExp.prototype, 'flags', {
- configurable: true,
- get: regExpFlags
- });
- }
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.to-string.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.to-string.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsRegexpToStringJs(module, exports, __webpack_require__) {
- "use strict";
-
- var redefine = __webpack_require__(
- /*! ../internals/redefine */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var flags = __webpack_require__(
- /*! ../internals/regexp-flags */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-flags.js");
-
- var TO_STRING = 'toString';
- var RegExpPrototype = RegExp.prototype;
- var nativeToString = RegExpPrototype[TO_STRING];
- var NOT_GENERIC = fails(function () {
- return nativeToString.call({
- source: 'a',
- flags: 'b'
- }) != '/a/b';
- }); // FF44- RegExp#toString has a wrong name
-
- var INCORRECT_NAME = nativeToString.name != TO_STRING; // `RegExp.prototype.toString` method
- // https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring
-
- if (NOT_GENERIC || INCORRECT_NAME) {
- redefine(RegExp.prototype, TO_STRING, function toString() {
- var R = anObject(this);
- var p = String(R.source);
- var rf = R.flags;
- var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);
- return '/' + p + '/' + f;
- }, {
- unsafe: true
- });
- }
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.set.js":
- /*!*******************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.set.js ***!
- \*******************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsSetJs(module, exports, __webpack_require__) {
- "use strict";
-
- var collection = __webpack_require__(
- /*! ../internals/collection */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection.js");
-
- var collectionStrong = __webpack_require__(
- /*! ../internals/collection-strong */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-strong.js"); // `Set` constructor
- // https://tc39.github.io/ecma262/#sec-set-objects
-
-
- module.exports = collection('Set', function (init) {
- return function Set() {
- return init(this, arguments.length ? arguments[0] : undefined);
- };
- }, collectionStrong);
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.anchor.js":
- /*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.anchor.js ***!
- \*****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringAnchorJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var createHTML = __webpack_require__(
- /*! ../internals/create-html */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-html.js");
-
- var forcedStringHTMLMethod = __webpack_require__(
- /*! ../internals/string-html-forced */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.anchor` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.anchor
-
-
- $({
- target: 'String',
- proto: true,
- forced: forcedStringHTMLMethod('anchor')
- }, {
- anchor: function anchor(name) {
- return createHTML(this, 'a', 'name', name);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.big.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.big.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringBigJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var createHTML = __webpack_require__(
- /*! ../internals/create-html */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-html.js");
-
- var forcedStringHTMLMethod = __webpack_require__(
- /*! ../internals/string-html-forced */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.big` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.big
-
-
- $({
- target: 'String',
- proto: true,
- forced: forcedStringHTMLMethod('big')
- }, {
- big: function big() {
- return createHTML(this, 'big', '', '');
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.blink.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.blink.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringBlinkJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var createHTML = __webpack_require__(
- /*! ../internals/create-html */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-html.js");
-
- var forcedStringHTMLMethod = __webpack_require__(
- /*! ../internals/string-html-forced */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.blink` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.blink
-
-
- $({
- target: 'String',
- proto: true,
- forced: forcedStringHTMLMethod('blink')
- }, {
- blink: function blink() {
- return createHTML(this, 'blink', '', '');
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.bold.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.bold.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringBoldJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var createHTML = __webpack_require__(
- /*! ../internals/create-html */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-html.js");
-
- var forcedStringHTMLMethod = __webpack_require__(
- /*! ../internals/string-html-forced */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.bold` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.bold
-
-
- $({
- target: 'String',
- proto: true,
- forced: forcedStringHTMLMethod('bold')
- }, {
- bold: function bold() {
- return createHTML(this, 'b', '', '');
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.code-point-at.js":
- /*!************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.code-point-at.js ***!
- \************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringCodePointAtJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var codeAt = __webpack_require__(
- /*! ../internals/string-multibyte */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-multibyte.js").codeAt; // `String.prototype.codePointAt` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
-
-
- $({
- target: 'String',
- proto: true
- }, {
- codePointAt: function codePointAt(pos) {
- return codeAt(this, pos);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.ends-with.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.ends-with.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringEndsWithJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var getOwnPropertyDescriptor = __webpack_require__(
- /*! ../internals/object-get-own-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
-
- var toLength = __webpack_require__(
- /*! ../internals/to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js");
-
- var notARegExp = __webpack_require__(
- /*! ../internals/not-a-regexp */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/not-a-regexp.js");
-
- var requireObjectCoercible = __webpack_require__(
- /*! ../internals/require-object-coercible */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js");
-
- var correctIsRegExpLogic = __webpack_require__(
- /*! ../internals/correct-is-regexp-logic */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-is-regexp-logic.js");
-
- var IS_PURE = __webpack_require__(
- /*! ../internals/is-pure */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-pure.js");
-
- var nativeEndsWith = ''.endsWith;
- var min = Math.min;
- var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith'); // https://github.com/zloirock/core-js/pull/702
-
- var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {
- var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');
- return descriptor && !descriptor.writable;
- }(); // `String.prototype.endsWith` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.endswith
-
- $({
- target: 'String',
- proto: true,
- forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC
- }, {
- endsWith: function endsWith(searchString
- /* , endPosition = @length */
- ) {
- var that = String(requireObjectCoercible(this));
- notARegExp(searchString);
- var endPosition = arguments.length > 1 ? arguments[1] : undefined;
- var len = toLength(that.length);
- var end = endPosition === undefined ? len : min(toLength(endPosition), len);
- var search = String(searchString);
- return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.fixed.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.fixed.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringFixedJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var createHTML = __webpack_require__(
- /*! ../internals/create-html */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-html.js");
-
- var forcedStringHTMLMethod = __webpack_require__(
- /*! ../internals/string-html-forced */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.fixed` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.fixed
-
-
- $({
- target: 'String',
- proto: true,
- forced: forcedStringHTMLMethod('fixed')
- }, {
- fixed: function fixed() {
- return createHTML(this, 'tt', '', '');
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.fontcolor.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.fontcolor.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringFontcolorJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var createHTML = __webpack_require__(
- /*! ../internals/create-html */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-html.js");
-
- var forcedStringHTMLMethod = __webpack_require__(
- /*! ../internals/string-html-forced */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.fontcolor` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.fontcolor
-
-
- $({
- target: 'String',
- proto: true,
- forced: forcedStringHTMLMethod('fontcolor')
- }, {
- fontcolor: function fontcolor(color) {
- return createHTML(this, 'font', 'color', color);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.fontsize.js":
- /*!*******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.fontsize.js ***!
- \*******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringFontsizeJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var createHTML = __webpack_require__(
- /*! ../internals/create-html */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-html.js");
-
- var forcedStringHTMLMethod = __webpack_require__(
- /*! ../internals/string-html-forced */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.fontsize` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.fontsize
-
-
- $({
- target: 'String',
- proto: true,
- forced: forcedStringHTMLMethod('fontsize')
- }, {
- fontsize: function fontsize(size) {
- return createHTML(this, 'font', 'size', size);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.from-code-point.js":
- /*!**************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.from-code-point.js ***!
- \**************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringFromCodePointJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var toAbsoluteIndex = __webpack_require__(
- /*! ../internals/to-absolute-index */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-absolute-index.js");
-
- var fromCharCode = String.fromCharCode;
- var nativeFromCodePoint = String.fromCodePoint; // length should be 1, old FF problem
-
- var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1; // `String.fromCodePoint` method
- // https://tc39.github.io/ecma262/#sec-string.fromcodepoint
-
- $({
- target: 'String',
- stat: true,
- forced: INCORRECT_LENGTH
- }, {
- fromCodePoint: function fromCodePoint(x) {
- // eslint-disable-line no-unused-vars
- var elements = [];
- var length = arguments.length;
- var i = 0;
- var code;
-
- while (length > i) {
- code = +arguments[i++];
- if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point');
- elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00));
- }
-
- return elements.join('');
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.includes.js":
- /*!*******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.includes.js ***!
- \*******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringIncludesJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var notARegExp = __webpack_require__(
- /*! ../internals/not-a-regexp */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/not-a-regexp.js");
-
- var requireObjectCoercible = __webpack_require__(
- /*! ../internals/require-object-coercible */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js");
-
- var correctIsRegExpLogic = __webpack_require__(
- /*! ../internals/correct-is-regexp-logic */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-is-regexp-logic.js"); // `String.prototype.includes` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.includes
-
-
- $({
- target: 'String',
- proto: true,
- forced: !correctIsRegExpLogic('includes')
- }, {
- includes: function includes(searchString
- /* , position = 0 */
- ) {
- return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.italics.js":
- /*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.italics.js ***!
- \******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringItalicsJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var createHTML = __webpack_require__(
- /*! ../internals/create-html */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-html.js");
-
- var forcedStringHTMLMethod = __webpack_require__(
- /*! ../internals/string-html-forced */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.italics` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.italics
-
-
- $({
- target: 'String',
- proto: true,
- forced: forcedStringHTMLMethod('italics')
- }, {
- italics: function italics() {
- return createHTML(this, 'i', '', '');
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.iterator.js":
- /*!*******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.iterator.js ***!
- \*******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringIteratorJs(module, exports, __webpack_require__) {
- "use strict";
-
- var charAt = __webpack_require__(
- /*! ../internals/string-multibyte */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-multibyte.js").charAt;
-
- var InternalStateModule = __webpack_require__(
- /*! ../internals/internal-state */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js");
-
- var defineIterator = __webpack_require__(
- /*! ../internals/define-iterator */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-iterator.js");
-
- var STRING_ITERATOR = 'String Iterator';
- var setInternalState = InternalStateModule.set;
- var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); // `String.prototype[@@iterator]` method
- // https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator
-
- defineIterator(String, 'String', function (iterated) {
- setInternalState(this, {
- type: STRING_ITERATOR,
- string: String(iterated),
- index: 0
- }); // `%StringIteratorPrototype%.next` method
- // https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next
- }, function next() {
- var state = getInternalState(this);
- var string = state.string;
- var index = state.index;
- var point;
- if (index >= string.length) return {
- value: undefined,
- done: true
- };
- point = charAt(string, index);
- state.index += point.length;
- return {
- value: point,
- done: false
- };
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.link.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.link.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringLinkJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var createHTML = __webpack_require__(
- /*! ../internals/create-html */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-html.js");
-
- var forcedStringHTMLMethod = __webpack_require__(
- /*! ../internals/string-html-forced */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.link` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.link
-
-
- $({
- target: 'String',
- proto: true,
- forced: forcedStringHTMLMethod('link')
- }, {
- link: function link(url) {
- return createHTML(this, 'a', 'href', url);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.match.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.match.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringMatchJs(module, exports, __webpack_require__) {
- "use strict";
-
- var fixRegExpWellKnownSymbolLogic = __webpack_require__(
- /*! ../internals/fix-regexp-well-known-symbol-logic */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var toLength = __webpack_require__(
- /*! ../internals/to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js");
-
- var requireObjectCoercible = __webpack_require__(
- /*! ../internals/require-object-coercible */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js");
-
- var advanceStringIndex = __webpack_require__(
- /*! ../internals/advance-string-index */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/advance-string-index.js");
-
- var regExpExec = __webpack_require__(
- /*! ../internals/regexp-exec-abstract */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-exec-abstract.js"); // @@match logic
-
-
- fixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
- return [// `String.prototype.match` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.match
- function match(regexp) {
- var O = requireObjectCoercible(this);
- var matcher = regexp == undefined ? undefined : regexp[MATCH];
- return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
- }, // `RegExp.prototype[@@match]` method
- // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match
- function (regexp) {
- var res = maybeCallNative(nativeMatch, regexp, this);
- if (res.done) return res.value;
- var rx = anObject(regexp);
- var S = String(this);
- if (!rx.global) return regExpExec(rx, S);
- var fullUnicode = rx.unicode;
- rx.lastIndex = 0;
- var A = [];
- var n = 0;
- var result;
-
- while ((result = regExpExec(rx, S)) !== null) {
- var matchStr = String(result[0]);
- A[n] = matchStr;
- if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
- n++;
- }
-
- return n === 0 ? null : A;
- }];
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.raw.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.raw.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringRawJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var toIndexedObject = __webpack_require__(
- /*! ../internals/to-indexed-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js");
-
- var toLength = __webpack_require__(
- /*! ../internals/to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js"); // `String.raw` method
- // https://tc39.github.io/ecma262/#sec-string.raw
-
-
- $({
- target: 'String',
- stat: true
- }, {
- raw: function raw(template) {
- var rawTemplate = toIndexedObject(template.raw);
- var literalSegments = toLength(rawTemplate.length);
- var argumentsLength = arguments.length;
- var elements = [];
- var i = 0;
-
- while (literalSegments > i) {
- elements.push(String(rawTemplate[i++]));
- if (i < argumentsLength) elements.push(String(arguments[i]));
- }
-
- return elements.join('');
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.repeat.js":
- /*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.repeat.js ***!
- \*****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringRepeatJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var repeat = __webpack_require__(
- /*! ../internals/string-repeat */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-repeat.js"); // `String.prototype.repeat` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.repeat
-
-
- $({
- target: 'String',
- proto: true
- }, {
- repeat: repeat
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.replace.js":
- /*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.replace.js ***!
- \******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringReplaceJs(module, exports, __webpack_require__) {
- "use strict";
-
- var fixRegExpWellKnownSymbolLogic = __webpack_require__(
- /*! ../internals/fix-regexp-well-known-symbol-logic */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var toObject = __webpack_require__(
- /*! ../internals/to-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js");
-
- var toLength = __webpack_require__(
- /*! ../internals/to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js");
-
- var toInteger = __webpack_require__(
- /*! ../internals/to-integer */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-integer.js");
-
- var requireObjectCoercible = __webpack_require__(
- /*! ../internals/require-object-coercible */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js");
-
- var advanceStringIndex = __webpack_require__(
- /*! ../internals/advance-string-index */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/advance-string-index.js");
-
- var regExpExec = __webpack_require__(
- /*! ../internals/regexp-exec-abstract */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-exec-abstract.js");
-
- var max = Math.max;
- var min = Math.min;
- var floor = Math.floor;
- var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
- var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
-
- var maybeToString = function maybeToString(it) {
- return it === undefined ? it : String(it);
- }; // @@replace logic
-
-
- fixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
- var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;
- var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;
- var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
- return [// `String.prototype.replace` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.replace
- function replace(searchValue, replaceValue) {
- var O = requireObjectCoercible(this);
- var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
- return replacer !== undefined ? replacer.call(searchValue, O, replaceValue) : nativeReplace.call(String(O), searchValue, replaceValue);
- }, // `RegExp.prototype[@@replace]` method
- // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
- function (regexp, replaceValue) {
- if (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0 || typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1) {
- var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
- if (res.done) return res.value;
- }
-
- var rx = anObject(regexp);
- var S = String(this);
- var functionalReplace = typeof replaceValue === 'function';
- if (!functionalReplace) replaceValue = String(replaceValue);
- var global = rx.global;
-
- if (global) {
- var fullUnicode = rx.unicode;
- rx.lastIndex = 0;
- }
-
- var results = [];
-
- while (true) {
- var result = regExpExec(rx, S);
- if (result === null) break;
- results.push(result);
- if (!global) break;
- var matchStr = String(result[0]);
- if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
- }
-
- var accumulatedResult = '';
- var nextSourcePosition = 0;
-
- for (var i = 0; i < results.length; i++) {
- result = results[i];
- var matched = String(result[0]);
- var position = max(min(toInteger(result.index), S.length), 0);
- var captures = []; // NOTE: This is equivalent to
- // captures = result.slice(1).map(maybeToString)
- // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
- // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
- // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
-
- for (var j = 1; j < result.length; j++) {
- captures.push(maybeToString(result[j]));
- }
-
- var namedCaptures = result.groups;
-
- if (functionalReplace) {
- var replacerArgs = [matched].concat(captures, position, S);
- if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
- var replacement = String(replaceValue.apply(undefined, replacerArgs));
- } else {
- replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
- }
-
- if (position >= nextSourcePosition) {
- accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
- nextSourcePosition = position + matched.length;
- }
- }
-
- return accumulatedResult + S.slice(nextSourcePosition);
- }]; // https://tc39.github.io/ecma262/#sec-getsubstitution
-
- function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
- var tailPos = position + matched.length;
- var m = captures.length;
- var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
-
- if (namedCaptures !== undefined) {
- namedCaptures = toObject(namedCaptures);
- symbols = SUBSTITUTION_SYMBOLS;
- }
-
- return nativeReplace.call(replacement, symbols, function (match, ch) {
- var capture;
-
- switch (ch.charAt(0)) {
- case '$':
- return '$';
-
- case '&':
- return matched;
-
- case '`':
- return str.slice(0, position);
-
- case "'":
- return str.slice(tailPos);
-
- case '<':
- capture = namedCaptures[ch.slice(1, -1)];
- break;
-
- default:
- // \d\d?
- var n = +ch;
- if (n === 0) return match;
-
- if (n > m) {
- var f = floor(n / 10);
- if (f === 0) return match;
- if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
- return match;
- }
-
- capture = captures[n - 1];
- }
-
- return capture === undefined ? '' : capture;
- });
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.search.js":
- /*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.search.js ***!
- \*****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringSearchJs(module, exports, __webpack_require__) {
- "use strict";
-
- var fixRegExpWellKnownSymbolLogic = __webpack_require__(
- /*! ../internals/fix-regexp-well-known-symbol-logic */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var requireObjectCoercible = __webpack_require__(
- /*! ../internals/require-object-coercible */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js");
-
- var sameValue = __webpack_require__(
- /*! ../internals/same-value */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/same-value.js");
-
- var regExpExec = __webpack_require__(
- /*! ../internals/regexp-exec-abstract */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-exec-abstract.js"); // @@search logic
-
-
- fixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {
- return [// `String.prototype.search` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.search
- function search(regexp) {
- var O = requireObjectCoercible(this);
- var searcher = regexp == undefined ? undefined : regexp[SEARCH];
- return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
- }, // `RegExp.prototype[@@search]` method
- // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search
- function (regexp) {
- var res = maybeCallNative(nativeSearch, regexp, this);
- if (res.done) return res.value;
- var rx = anObject(regexp);
- var S = String(this);
- var previousLastIndex = rx.lastIndex;
- if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
- var result = regExpExec(rx, S);
- if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
- return result === null ? -1 : result.index;
- }];
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.small.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.small.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringSmallJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var createHTML = __webpack_require__(
- /*! ../internals/create-html */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-html.js");
-
- var forcedStringHTMLMethod = __webpack_require__(
- /*! ../internals/string-html-forced */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.small` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.small
-
-
- $({
- target: 'String',
- proto: true,
- forced: forcedStringHTMLMethod('small')
- }, {
- small: function small() {
- return createHTML(this, 'small', '', '');
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.split.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.split.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringSplitJs(module, exports, __webpack_require__) {
- "use strict";
-
- var fixRegExpWellKnownSymbolLogic = __webpack_require__(
- /*! ../internals/fix-regexp-well-known-symbol-logic */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js");
-
- var isRegExp = __webpack_require__(
- /*! ../internals/is-regexp */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-regexp.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var requireObjectCoercible = __webpack_require__(
- /*! ../internals/require-object-coercible */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js");
-
- var speciesConstructor = __webpack_require__(
- /*! ../internals/species-constructor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/species-constructor.js");
-
- var advanceStringIndex = __webpack_require__(
- /*! ../internals/advance-string-index */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/advance-string-index.js");
-
- var toLength = __webpack_require__(
- /*! ../internals/to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js");
-
- var callRegExpExec = __webpack_require__(
- /*! ../internals/regexp-exec-abstract */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-exec-abstract.js");
-
- var regexpExec = __webpack_require__(
- /*! ../internals/regexp-exec */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-exec.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var arrayPush = [].push;
- var min = Math.min;
- var MAX_UINT32 = 0xFFFFFFFF; // babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
-
- var SUPPORTS_Y = !fails(function () {
- return !RegExp(MAX_UINT32, 'y');
- }); // @@split logic
-
- fixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
- var internalSplit;
-
- if ('abbc'.split(/(b)*/)[1] == 'c' || 'test'.split(/(?:)/, -1).length != 4 || 'ab'.split(/(?:ab)*/).length != 2 || '.'.split(/(.?)(.?)/).length != 4 || '.'.split(/()()/).length > 1 || ''.split(/.?/).length) {
- // based on es5-shim implementation, need to rework it
- internalSplit = function internalSplit(separator, limit) {
- var string = String(requireObjectCoercible(this));
- var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
- if (lim === 0) return [];
- if (separator === undefined) return [string]; // If `separator` is not a regex, use native split
-
- if (!isRegExp(separator)) {
- return nativeSplit.call(string, separator, lim);
- }
-
- var output = [];
- var flags = (separator.ignoreCase ? 'i' : '') + (separator.multiline ? 'm' : '') + (separator.unicode ? 'u' : '') + (separator.sticky ? 'y' : '');
- var lastLastIndex = 0; // Make `global` and avoid `lastIndex` issues by working with a copy
-
- var separatorCopy = new RegExp(separator.source, flags + 'g');
- var match, lastIndex, lastLength;
-
- while (match = regexpExec.call(separatorCopy, string)) {
- lastIndex = separatorCopy.lastIndex;
-
- if (lastIndex > lastLastIndex) {
- output.push(string.slice(lastLastIndex, match.index));
- if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
- lastLength = match[0].length;
- lastLastIndex = lastIndex;
- if (output.length >= lim) break;
- }
-
- if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
- }
-
- if (lastLastIndex === string.length) {
- if (lastLength || !separatorCopy.test('')) output.push('');
- } else output.push(string.slice(lastLastIndex));
-
- return output.length > lim ? output.slice(0, lim) : output;
- }; // Chakra, V8
-
- } else if ('0'.split(undefined, 0).length) {
- internalSplit = function internalSplit(separator, limit) {
- return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
- };
- } else internalSplit = nativeSplit;
-
- return [// `String.prototype.split` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.split
- function split(separator, limit) {
- var O = requireObjectCoercible(this);
- var splitter = separator == undefined ? undefined : separator[SPLIT];
- return splitter !== undefined ? splitter.call(separator, O, limit) : internalSplit.call(String(O), separator, limit);
- }, // `RegExp.prototype[@@split]` method
- // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split
- //
- // NOTE: This cannot be properly polyfilled in engines that don't support
- // the 'y' flag.
- function (regexp, limit) {
- var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
- if (res.done) return res.value;
- var rx = anObject(regexp);
- var S = String(this);
- var C = speciesConstructor(rx, RegExp);
- var unicodeMatching = rx.unicode;
- var flags = (rx.ignoreCase ? 'i' : '') + (rx.multiline ? 'm' : '') + (rx.unicode ? 'u' : '') + (SUPPORTS_Y ? 'y' : 'g'); // ^(? + rx + ) is needed, in combination with some S slicing, to
- // simulate the 'y' flag.
-
- var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
- var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
- if (lim === 0) return [];
- if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];
- var p = 0;
- var q = 0;
- var A = [];
-
- while (q < S.length) {
- splitter.lastIndex = SUPPORTS_Y ? q : 0;
- var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));
- var e;
-
- if (z === null || (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p) {
- q = advanceStringIndex(S, q, unicodeMatching);
- } else {
- A.push(S.slice(p, q));
- if (A.length === lim) return A;
-
- for (var i = 1; i <= z.length - 1; i++) {
- A.push(z[i]);
- if (A.length === lim) return A;
- }
-
- q = p = e;
- }
- }
-
- A.push(S.slice(p));
- return A;
- }];
- }, !SUPPORTS_Y);
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.starts-with.js":
- /*!**********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.starts-with.js ***!
- \**********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringStartsWithJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var getOwnPropertyDescriptor = __webpack_require__(
- /*! ../internals/object-get-own-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
-
- var toLength = __webpack_require__(
- /*! ../internals/to-length */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js");
-
- var notARegExp = __webpack_require__(
- /*! ../internals/not-a-regexp */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/not-a-regexp.js");
-
- var requireObjectCoercible = __webpack_require__(
- /*! ../internals/require-object-coercible */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js");
-
- var correctIsRegExpLogic = __webpack_require__(
- /*! ../internals/correct-is-regexp-logic */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-is-regexp-logic.js");
-
- var IS_PURE = __webpack_require__(
- /*! ../internals/is-pure */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-pure.js");
-
- var nativeStartsWith = ''.startsWith;
- var min = Math.min;
- var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); // https://github.com/zloirock/core-js/pull/702
-
- var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {
- var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');
- return descriptor && !descriptor.writable;
- }(); // `String.prototype.startsWith` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.startswith
-
- $({
- target: 'String',
- proto: true,
- forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC
- }, {
- startsWith: function startsWith(searchString
- /* , position = 0 */
- ) {
- var that = String(requireObjectCoercible(this));
- notARegExp(searchString);
- var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));
- var search = String(searchString);
- return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search;
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.strike.js":
- /*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.strike.js ***!
- \*****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringStrikeJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var createHTML = __webpack_require__(
- /*! ../internals/create-html */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-html.js");
-
- var forcedStringHTMLMethod = __webpack_require__(
- /*! ../internals/string-html-forced */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.strike` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.strike
-
-
- $({
- target: 'String',
- proto: true,
- forced: forcedStringHTMLMethod('strike')
- }, {
- strike: function strike() {
- return createHTML(this, 'strike', '', '');
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.sub.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.sub.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringSubJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var createHTML = __webpack_require__(
- /*! ../internals/create-html */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-html.js");
-
- var forcedStringHTMLMethod = __webpack_require__(
- /*! ../internals/string-html-forced */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.sub` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.sub
-
-
- $({
- target: 'String',
- proto: true,
- forced: forcedStringHTMLMethod('sub')
- }, {
- sub: function sub() {
- return createHTML(this, 'sub', '', '');
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.sup.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.sup.js ***!
- \**************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringSupJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var createHTML = __webpack_require__(
- /*! ../internals/create-html */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-html.js");
-
- var forcedStringHTMLMethod = __webpack_require__(
- /*! ../internals/string-html-forced */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-html-forced.js"); // `String.prototype.sup` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.sup
-
-
- $({
- target: 'String',
- proto: true,
- forced: forcedStringHTMLMethod('sup')
- }, {
- sup: function sup() {
- return createHTML(this, 'sup', '', '');
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.trim.js":
- /*!***************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.trim.js ***!
- \***************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsStringTrimJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var $trim = __webpack_require__(
- /*! ../internals/string-trim */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-trim.js").trim;
-
- var forcedStringTrimMethod = __webpack_require__(
- /*! ../internals/string-trim-forced */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-trim-forced.js"); // `String.prototype.trim` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.trim
-
-
- $({
- target: 'String',
- proto: true,
- forced: forcedStringTrimMethod('trim')
- }, {
- trim: function trim() {
- return $trim(this);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.async-iterator.js":
- /*!*************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.async-iterator.js ***!
- \*************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsSymbolAsyncIteratorJs(module, exports, __webpack_require__) {
- var defineWellKnownSymbol = __webpack_require__(
- /*! ../internals/define-well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.asyncIterator` well-known symbol
- // https://tc39.github.io/ecma262/#sec-symbol.asynciterator
-
-
- defineWellKnownSymbol('asyncIterator');
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.description.js":
- /*!**********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.description.js ***!
- \**********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsSymbolDescriptionJs(module, exports, __webpack_require__) {
- "use strict"; // `Symbol.prototype.description` getter
- // https://tc39.github.io/ecma262/#sec-symbol.prototype.description
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var has = __webpack_require__(
- /*! ../internals/has */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var defineProperty = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js").f;
-
- var copyConstructorProperties = __webpack_require__(
- /*! ../internals/copy-constructor-properties */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/copy-constructor-properties.js");
-
- var NativeSymbol = global.Symbol;
-
- if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || // Safari 12 bug
- NativeSymbol().description !== undefined)) {
- var EmptyStringDescriptionStore = {}; // wrap Symbol constructor for correct work with undefined description
-
- var SymbolWrapper = function Symbol() {
- var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
- var result = this instanceof SymbolWrapper ? new NativeSymbol(description) // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
- : description === undefined ? NativeSymbol() : NativeSymbol(description);
- if (description === '') EmptyStringDescriptionStore[result] = true;
- return result;
- };
-
- copyConstructorProperties(SymbolWrapper, NativeSymbol);
- var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
- symbolPrototype.constructor = SymbolWrapper;
- var symbolToString = symbolPrototype.toString;
- var native = String(NativeSymbol('test')) == 'Symbol(test)';
- var regexp = /^Symbol\((.*)\)[^)]+$/;
- defineProperty(symbolPrototype, 'description', {
- configurable: true,
- get: function description() {
- var symbol = isObject(this) ? this.valueOf() : this;
- var string = symbolToString.call(symbol);
- if (has(EmptyStringDescriptionStore, symbol)) return '';
- var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
- return desc === '' ? undefined : desc;
- }
- });
- $({
- global: true,
- forced: true
- }, {
- Symbol: SymbolWrapper
- });
- }
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.has-instance.js":
- /*!***********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.has-instance.js ***!
- \***********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsSymbolHasInstanceJs(module, exports, __webpack_require__) {
- var defineWellKnownSymbol = __webpack_require__(
- /*! ../internals/define-well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.hasInstance` well-known symbol
- // https://tc39.github.io/ecma262/#sec-symbol.hasinstance
-
-
- defineWellKnownSymbol('hasInstance');
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js":
- /*!*******************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js ***!
- \*******************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsSymbolIsConcatSpreadableJs(module, exports, __webpack_require__) {
- var defineWellKnownSymbol = __webpack_require__(
- /*! ../internals/define-well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.isConcatSpreadable` well-known symbol
- // https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable
-
-
- defineWellKnownSymbol('isConcatSpreadable');
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.iterator.js":
- /*!*******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.iterator.js ***!
- \*******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsSymbolIteratorJs(module, exports, __webpack_require__) {
- var defineWellKnownSymbol = __webpack_require__(
- /*! ../internals/define-well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.iterator` well-known symbol
- // https://tc39.github.io/ecma262/#sec-symbol.iterator
-
-
- defineWellKnownSymbol('iterator');
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.js":
- /*!**********************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.js ***!
- \**********************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsSymbolJs(module, exports, __webpack_require__) {
- "use strict";
-
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var getBuiltIn = __webpack_require__(
- /*! ../internals/get-built-in */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js");
-
- var IS_PURE = __webpack_require__(
- /*! ../internals/is-pure */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-pure.js");
-
- var DESCRIPTORS = __webpack_require__(
- /*! ../internals/descriptors */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js");
-
- var NATIVE_SYMBOL = __webpack_require__(
- /*! ../internals/native-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-symbol.js");
-
- var USE_SYMBOL_AS_UID = __webpack_require__(
- /*! ../internals/use-symbol-as-uid */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/use-symbol-as-uid.js");
-
- var fails = __webpack_require__(
- /*! ../internals/fails */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js");
-
- var has = __webpack_require__(
- /*! ../internals/has */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js");
-
- var isArray = __webpack_require__(
- /*! ../internals/is-array */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var toObject = __webpack_require__(
- /*! ../internals/to-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js");
-
- var toIndexedObject = __webpack_require__(
- /*! ../internals/to-indexed-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js");
-
- var toPrimitive = __webpack_require__(
- /*! ../internals/to-primitive */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-primitive.js");
-
- var createPropertyDescriptor = __webpack_require__(
- /*! ../internals/create-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property-descriptor.js");
-
- var nativeObjectCreate = __webpack_require__(
- /*! ../internals/object-create */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-create.js");
-
- var objectKeys = __webpack_require__(
- /*! ../internals/object-keys */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys.js");
-
- var getOwnPropertyNamesModule = __webpack_require__(
- /*! ../internals/object-get-own-property-names */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names.js");
-
- var getOwnPropertyNamesExternal = __webpack_require__(
- /*! ../internals/object-get-own-property-names-external */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names-external.js");
-
- var getOwnPropertySymbolsModule = __webpack_require__(
- /*! ../internals/object-get-own-property-symbols */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-symbols.js");
-
- var getOwnPropertyDescriptorModule = __webpack_require__(
- /*! ../internals/object-get-own-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js");
-
- var definePropertyModule = __webpack_require__(
- /*! ../internals/object-define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js");
-
- var propertyIsEnumerableModule = __webpack_require__(
- /*! ../internals/object-property-is-enumerable */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-property-is-enumerable.js");
-
- var createNonEnumerableProperty = __webpack_require__(
- /*! ../internals/create-non-enumerable-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js");
-
- var redefine = __webpack_require__(
- /*! ../internals/redefine */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js");
-
- var shared = __webpack_require__(
- /*! ../internals/shared */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared.js");
-
- var sharedKey = __webpack_require__(
- /*! ../internals/shared-key */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-key.js");
-
- var hiddenKeys = __webpack_require__(
- /*! ../internals/hidden-keys */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/hidden-keys.js");
-
- var uid = __webpack_require__(
- /*! ../internals/uid */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/uid.js");
-
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var wrappedWellKnownSymbolModule = __webpack_require__(
- /*! ../internals/well-known-symbol-wrapped */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol-wrapped.js");
-
- var defineWellKnownSymbol = __webpack_require__(
- /*! ../internals/define-well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-well-known-symbol.js");
-
- var setToStringTag = __webpack_require__(
- /*! ../internals/set-to-string-tag */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-to-string-tag.js");
-
- var InternalStateModule = __webpack_require__(
- /*! ../internals/internal-state */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js");
-
- var $forEach = __webpack_require__(
- /*! ../internals/array-iteration */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-iteration.js").forEach;
-
- var HIDDEN = sharedKey('hidden');
- var SYMBOL = 'Symbol';
- var PROTOTYPE = 'prototype';
- var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
- var setInternalState = InternalStateModule.set;
- var getInternalState = InternalStateModule.getterFor(SYMBOL);
- var ObjectPrototype = Object[PROTOTYPE];
- var $Symbol = global.Symbol;
- var $stringify = getBuiltIn('JSON', 'stringify');
- var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
- var nativeDefineProperty = definePropertyModule.f;
- var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
- var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
- var AllSymbols = shared('symbols');
- var ObjectPrototypeSymbols = shared('op-symbols');
- var StringToSymbolRegistry = shared('string-to-symbol-registry');
- var SymbolToStringRegistry = shared('symbol-to-string-registry');
- var WellKnownSymbolsStore = shared('wks');
- var QObject = global.QObject; // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
-
- var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
-
- var setSymbolDescriptor = DESCRIPTORS && fails(function () {
- return nativeObjectCreate(nativeDefineProperty({}, 'a', {
- get: function get() {
- return nativeDefineProperty(this, 'a', {
- value: 7
- }).a;
- }
- })).a != 7;
- }) ? function (O, P, Attributes) {
- var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
- if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
- nativeDefineProperty(O, P, Attributes);
-
- if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
- nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
- }
- } : nativeDefineProperty;
-
- var wrap = function wrap(tag, description) {
- var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);
- setInternalState(symbol, {
- type: SYMBOL,
- tag: tag,
- description: description
- });
- if (!DESCRIPTORS) symbol.description = description;
- return symbol;
- };
-
- var isSymbol = USE_SYMBOL_AS_UID ? function (it) {
- return typeof it == 'symbol';
- } : function (it) {
- return Object(it) instanceof $Symbol;
- };
-
- var $defineProperty = function defineProperty(O, P, Attributes) {
- if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
- anObject(O);
- var key = toPrimitive(P, true);
- anObject(Attributes);
-
- if (has(AllSymbols, key)) {
- if (!Attributes.enumerable) {
- if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
- O[HIDDEN][key] = true;
- } else {
- if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
- Attributes = nativeObjectCreate(Attributes, {
- enumerable: createPropertyDescriptor(0, false)
- });
- }
-
- return setSymbolDescriptor(O, key, Attributes);
- }
-
- return nativeDefineProperty(O, key, Attributes);
- };
-
- var $defineProperties = function defineProperties(O, Properties) {
- anObject(O);
- var properties = toIndexedObject(Properties);
- var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
- $forEach(keys, function (key) {
- if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
- });
- return O;
- };
-
- var $create = function create(O, Properties) {
- return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);
- };
-
- var $propertyIsEnumerable = function propertyIsEnumerable(V) {
- var P = toPrimitive(V, true);
- var enumerable = nativePropertyIsEnumerable.call(this, P);
- if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
- return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
- };
-
- var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
- var it = toIndexedObject(O);
- var key = toPrimitive(P, true);
- if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
- var descriptor = nativeGetOwnPropertyDescriptor(it, key);
-
- if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
- descriptor.enumerable = true;
- }
-
- return descriptor;
- };
-
- var $getOwnPropertyNames = function getOwnPropertyNames(O) {
- var names = nativeGetOwnPropertyNames(toIndexedObject(O));
- var result = [];
- $forEach(names, function (key) {
- if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
- });
- return result;
- };
-
- var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
- var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
- var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
- var result = [];
- $forEach(names, function (key) {
- if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
- result.push(AllSymbols[key]);
- }
- });
- return result;
- }; // `Symbol` constructor
- // https://tc39.github.io/ecma262/#sec-symbol-constructor
-
-
- if (!NATIVE_SYMBOL) {
- $Symbol = function Symbol() {
- if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
- var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
- var tag = uid(description);
-
- var setter = function setter(value) {
- if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
- if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
- setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
- };
-
- if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, {
- configurable: true,
- set: setter
- });
- return wrap(tag, description);
- };
-
- redefine($Symbol[PROTOTYPE], 'toString', function toString() {
- return getInternalState(this).tag;
- });
- redefine($Symbol, 'withoutSetter', function (description) {
- return wrap(uid(description), description);
- });
- propertyIsEnumerableModule.f = $propertyIsEnumerable;
- definePropertyModule.f = $defineProperty;
- getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
- getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
- getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
-
- wrappedWellKnownSymbolModule.f = function (name) {
- return wrap(wellKnownSymbol(name), name);
- };
-
- if (DESCRIPTORS) {
- // https://github.com/tc39/proposal-Symbol-description
- nativeDefineProperty($Symbol[PROTOTYPE], 'description', {
- configurable: true,
- get: function description() {
- return getInternalState(this).description;
- }
- });
-
- if (!IS_PURE) {
- redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, {
- unsafe: true
- });
- }
- }
- }
-
- $({
- global: true,
- wrap: true,
- forced: !NATIVE_SYMBOL,
- sham: !NATIVE_SYMBOL
- }, {
- Symbol: $Symbol
- });
- $forEach(objectKeys(WellKnownSymbolsStore), function (name) {
- defineWellKnownSymbol(name);
- });
- $({
- target: SYMBOL,
- stat: true,
- forced: !NATIVE_SYMBOL
- }, {
- // `Symbol.for` method
- // https://tc39.github.io/ecma262/#sec-symbol.for
- 'for': function _for(key) {
- var string = String(key);
- if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
- var symbol = $Symbol(string);
- StringToSymbolRegistry[string] = symbol;
- SymbolToStringRegistry[symbol] = string;
- return symbol;
- },
- // `Symbol.keyFor` method
- // https://tc39.github.io/ecma262/#sec-symbol.keyfor
- keyFor: function keyFor(sym) {
- if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
- if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
- },
- useSetter: function useSetter() {
- USE_SETTER = true;
- },
- useSimple: function useSimple() {
- USE_SETTER = false;
- }
- });
- $({
- target: 'Object',
- stat: true,
- forced: !NATIVE_SYMBOL,
- sham: !DESCRIPTORS
- }, {
- // `Object.create` method
- // https://tc39.github.io/ecma262/#sec-object.create
- create: $create,
- // `Object.defineProperty` method
- // https://tc39.github.io/ecma262/#sec-object.defineproperty
- defineProperty: $defineProperty,
- // `Object.defineProperties` method
- // https://tc39.github.io/ecma262/#sec-object.defineproperties
- defineProperties: $defineProperties,
- // `Object.getOwnPropertyDescriptor` method
- // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
- getOwnPropertyDescriptor: $getOwnPropertyDescriptor
- });
- $({
- target: 'Object',
- stat: true,
- forced: !NATIVE_SYMBOL
- }, {
- // `Object.getOwnPropertyNames` method
- // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
- getOwnPropertyNames: $getOwnPropertyNames,
- // `Object.getOwnPropertySymbols` method
- // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols
- getOwnPropertySymbols: $getOwnPropertySymbols
- }); // Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
- // https://bugs.chromium.org/p/v8/issues/detail?id=3443
-
- $({
- target: 'Object',
- stat: true,
- forced: fails(function () {
- getOwnPropertySymbolsModule.f(1);
- })
- }, {
- getOwnPropertySymbols: function getOwnPropertySymbols(it) {
- return getOwnPropertySymbolsModule.f(toObject(it));
- }
- }); // `JSON.stringify` method behavior with symbols
- // https://tc39.github.io/ecma262/#sec-json.stringify
-
- if ($stringify) {
- var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {
- var symbol = $Symbol(); // MS Edge converts symbol values to JSON as {}
-
- return $stringify([symbol]) != '[null]' // WebKit converts symbol values to JSON as null
- || $stringify({
- a: symbol
- }) != '{}' // V8 throws on boxed symbols
- || $stringify(Object(symbol)) != '{}';
- });
- $({
- target: 'JSON',
- stat: true,
- forced: FORCED_JSON_STRINGIFY
- }, {
- // eslint-disable-next-line no-unused-vars
- stringify: function stringify(it, replacer, space) {
- var args = [it];
- var index = 1;
- var $replacer;
-
- while (arguments.length > index) {
- args.push(arguments[index++]);
- }
-
- $replacer = replacer;
- if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
-
- if (!isArray(replacer)) replacer = function replacer(key, value) {
- if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
- if (!isSymbol(value)) return value;
- };
- args[1] = replacer;
- return $stringify.apply(null, args);
- }
- });
- } // `Symbol.prototype[@@toPrimitive]` method
- // https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive
-
-
- if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {
- createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
- } // `Symbol.prototype[@@toStringTag]` property
- // https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag
-
-
- setToStringTag($Symbol, SYMBOL);
- hiddenKeys[HIDDEN] = true;
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.match-all.js":
- /*!********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.match-all.js ***!
- \********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsSymbolMatchAllJs(module, exports, __webpack_require__) {
- var defineWellKnownSymbol = __webpack_require__(
- /*! ../internals/define-well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.matchAll` well-known symbol
-
-
- defineWellKnownSymbol('matchAll');
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.match.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.match.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsSymbolMatchJs(module, exports, __webpack_require__) {
- var defineWellKnownSymbol = __webpack_require__(
- /*! ../internals/define-well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.match` well-known symbol
- // https://tc39.github.io/ecma262/#sec-symbol.match
-
-
- defineWellKnownSymbol('match');
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.replace.js":
- /*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.replace.js ***!
- \******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsSymbolReplaceJs(module, exports, __webpack_require__) {
- var defineWellKnownSymbol = __webpack_require__(
- /*! ../internals/define-well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.replace` well-known symbol
- // https://tc39.github.io/ecma262/#sec-symbol.replace
-
-
- defineWellKnownSymbol('replace');
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.search.js":
- /*!*****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.search.js ***!
- \*****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsSymbolSearchJs(module, exports, __webpack_require__) {
- var defineWellKnownSymbol = __webpack_require__(
- /*! ../internals/define-well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.search` well-known symbol
- // https://tc39.github.io/ecma262/#sec-symbol.search
-
-
- defineWellKnownSymbol('search');
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.species.js":
- /*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.species.js ***!
- \******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsSymbolSpeciesJs(module, exports, __webpack_require__) {
- var defineWellKnownSymbol = __webpack_require__(
- /*! ../internals/define-well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.species` well-known symbol
- // https://tc39.github.io/ecma262/#sec-symbol.species
-
-
- defineWellKnownSymbol('species');
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.split.js":
- /*!****************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.split.js ***!
- \****************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsSymbolSplitJs(module, exports, __webpack_require__) {
- var defineWellKnownSymbol = __webpack_require__(
- /*! ../internals/define-well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.split` well-known symbol
- // https://tc39.github.io/ecma262/#sec-symbol.split
-
-
- defineWellKnownSymbol('split');
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.to-primitive.js":
- /*!***********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.to-primitive.js ***!
- \***********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsSymbolToPrimitiveJs(module, exports, __webpack_require__) {
- var defineWellKnownSymbol = __webpack_require__(
- /*! ../internals/define-well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.toPrimitive` well-known symbol
- // https://tc39.github.io/ecma262/#sec-symbol.toprimitive
-
-
- defineWellKnownSymbol('toPrimitive');
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.to-string-tag.js":
- /*!************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.to-string-tag.js ***!
- \************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsSymbolToStringTagJs(module, exports, __webpack_require__) {
- var defineWellKnownSymbol = __webpack_require__(
- /*! ../internals/define-well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.toStringTag` well-known symbol
- // https://tc39.github.io/ecma262/#sec-symbol.tostringtag
-
-
- defineWellKnownSymbol('toStringTag');
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.unscopables.js":
- /*!**********************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.unscopables.js ***!
- \**********************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsSymbolUnscopablesJs(module, exports, __webpack_require__) {
- var defineWellKnownSymbol = __webpack_require__(
- /*! ../internals/define-well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-well-known-symbol.js"); // `Symbol.unscopables` well-known symbol
- // https://tc39.github.io/ecma262/#sec-symbol.unscopables
-
-
- defineWellKnownSymbol('unscopables');
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.weak-map.js":
- /*!************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.weak-map.js ***!
- \************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsWeakMapJs(module, exports, __webpack_require__) {
- "use strict";
-
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var redefineAll = __webpack_require__(
- /*! ../internals/redefine-all */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine-all.js");
-
- var InternalMetadataModule = __webpack_require__(
- /*! ../internals/internal-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js");
-
- var collection = __webpack_require__(
- /*! ../internals/collection */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection.js");
-
- var collectionWeak = __webpack_require__(
- /*! ../internals/collection-weak */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-weak.js");
-
- var isObject = __webpack_require__(
- /*! ../internals/is-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js");
-
- var enforceIternalState = __webpack_require__(
- /*! ../internals/internal-state */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js").enforce;
-
- var NATIVE_WEAK_MAP = __webpack_require__(
- /*! ../internals/native-weak-map */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-weak-map.js");
-
- var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;
- var isExtensible = Object.isExtensible;
- var InternalWeakMap;
-
- var wrapper = function wrapper(init) {
- return function WeakMap() {
- return init(this, arguments.length ? arguments[0] : undefined);
- };
- }; // `WeakMap` constructor
- // https://tc39.github.io/ecma262/#sec-weakmap-constructor
-
-
- var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak); // IE11 WeakMap frozen keys fix
- // We can't use feature detection because it crash some old IE builds
- // https://github.com/zloirock/core-js/issues/485
-
- if (NATIVE_WEAK_MAP && IS_IE11) {
- InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);
- InternalMetadataModule.REQUIRED = true;
- var WeakMapPrototype = $WeakMap.prototype;
- var nativeDelete = WeakMapPrototype['delete'];
- var nativeHas = WeakMapPrototype.has;
- var nativeGet = WeakMapPrototype.get;
- var nativeSet = WeakMapPrototype.set;
- redefineAll(WeakMapPrototype, {
- 'delete': function _delete(key) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen) state.frozen = new InternalWeakMap();
- return nativeDelete.call(this, key) || state.frozen['delete'](key);
- }
-
- return nativeDelete.call(this, key);
- },
- has: function has(key) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen) state.frozen = new InternalWeakMap();
- return nativeHas.call(this, key) || state.frozen.has(key);
- }
-
- return nativeHas.call(this, key);
- },
- get: function get(key) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen) state.frozen = new InternalWeakMap();
- return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);
- }
-
- return nativeGet.call(this, key);
- },
- set: function set(key, value) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen) state.frozen = new InternalWeakMap();
- nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);
- } else nativeSet.call(this, key, value);
-
- return this;
- }
- });
- }
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.define-metadata.js":
- /*!*******************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.define-metadata.js ***!
- \*******************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsnextReflectDefineMetadataJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var ReflectMetadataModule = __webpack_require__(
- /*! ../internals/reflect-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var toMetadataKey = ReflectMetadataModule.toKey;
- var ordinaryDefineOwnMetadata = ReflectMetadataModule.set; // `Reflect.defineMetadata` method
- // https://github.com/rbuckton/reflect-metadata
-
- $({
- target: 'Reflect',
- stat: true
- }, {
- defineMetadata: function defineMetadata(metadataKey, metadataValue, target
- /* , targetKey */
- ) {
- var targetKey = arguments.length < 4 ? undefined : toMetadataKey(arguments[3]);
- ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), targetKey);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.delete-metadata.js":
- /*!*******************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.delete-metadata.js ***!
- \*******************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsnextReflectDeleteMetadataJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var ReflectMetadataModule = __webpack_require__(
- /*! ../internals/reflect-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var toMetadataKey = ReflectMetadataModule.toKey;
- var getOrCreateMetadataMap = ReflectMetadataModule.getMap;
- var store = ReflectMetadataModule.store; // `Reflect.deleteMetadata` method
- // https://github.com/rbuckton/reflect-metadata
-
- $({
- target: 'Reflect',
- stat: true
- }, {
- deleteMetadata: function deleteMetadata(metadataKey, target
- /* , targetKey */
- ) {
- var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);
- var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);
- if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;
- if (metadataMap.size) return true;
- var targetMetadata = store.get(target);
- targetMetadata['delete'](targetKey);
- return !!targetMetadata.size || store['delete'](target);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js":
- /*!*********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js ***!
- \*********************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsnextReflectGetMetadataKeysJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js"); // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
-
-
- var Set = __webpack_require__(
- /*! ../modules/es.set */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.set.js");
-
- var ReflectMetadataModule = __webpack_require__(
- /*! ../internals/reflect-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var getPrototypeOf = __webpack_require__(
- /*! ../internals/object-get-prototype-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js");
-
- var iterate = __webpack_require__(
- /*! ../internals/iterate */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterate.js");
-
- var ordinaryOwnMetadataKeys = ReflectMetadataModule.keys;
- var toMetadataKey = ReflectMetadataModule.toKey;
-
- var from = function from(iter) {
- var result = [];
- iterate(iter, result.push, result);
- return result;
- };
-
- var ordinaryMetadataKeys = function ordinaryMetadataKeys(O, P) {
- var oKeys = ordinaryOwnMetadataKeys(O, P);
- var parent = getPrototypeOf(O);
- if (parent === null) return oKeys;
- var pKeys = ordinaryMetadataKeys(parent, P);
- return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;
- }; // `Reflect.getMetadataKeys` method
- // https://github.com/rbuckton/reflect-metadata
-
-
- $({
- target: 'Reflect',
- stat: true
- }, {
- getMetadataKeys: function getMetadataKeys(target
- /* , targetKey */
- ) {
- var targetKey = arguments.length < 2 ? undefined : toMetadataKey(arguments[1]);
- return ordinaryMetadataKeys(anObject(target), targetKey);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata.js":
- /*!****************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata.js ***!
- \****************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsnextReflectGetMetadataJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var ReflectMetadataModule = __webpack_require__(
- /*! ../internals/reflect-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var getPrototypeOf = __webpack_require__(
- /*! ../internals/object-get-prototype-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js");
-
- var ordinaryHasOwnMetadata = ReflectMetadataModule.has;
- var ordinaryGetOwnMetadata = ReflectMetadataModule.get;
- var toMetadataKey = ReflectMetadataModule.toKey;
-
- var ordinaryGetMetadata = function ordinaryGetMetadata(MetadataKey, O, P) {
- var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);
- if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);
- var parent = getPrototypeOf(O);
- return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;
- }; // `Reflect.getMetadata` method
- // https://github.com/rbuckton/reflect-metadata
-
-
- $({
- target: 'Reflect',
- stat: true
- }, {
- getMetadata: function getMetadata(metadataKey, target
- /* , targetKey */
- ) {
- var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);
- return ordinaryGetMetadata(metadataKey, anObject(target), targetKey);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js":
- /*!*************************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js ***!
- \*************************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsnextReflectGetOwnMetadataKeysJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var ReflectMetadataModule = __webpack_require__(
- /*! ../internals/reflect-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var ordinaryOwnMetadataKeys = ReflectMetadataModule.keys;
- var toMetadataKey = ReflectMetadataModule.toKey; // `Reflect.getOwnMetadataKeys` method
- // https://github.com/rbuckton/reflect-metadata
-
- $({
- target: 'Reflect',
- stat: true
- }, {
- getOwnMetadataKeys: function getOwnMetadataKeys(target
- /* , targetKey */
- ) {
- var targetKey = arguments.length < 2 ? undefined : toMetadataKey(arguments[1]);
- return ordinaryOwnMetadataKeys(anObject(target), targetKey);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js":
- /*!********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js ***!
- \********************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsnextReflectGetOwnMetadataJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var ReflectMetadataModule = __webpack_require__(
- /*! ../internals/reflect-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var ordinaryGetOwnMetadata = ReflectMetadataModule.get;
- var toMetadataKey = ReflectMetadataModule.toKey; // `Reflect.getOwnMetadata` method
- // https://github.com/rbuckton/reflect-metadata
-
- $({
- target: 'Reflect',
- stat: true
- }, {
- getOwnMetadata: function getOwnMetadata(metadataKey, target
- /* , targetKey */
- ) {
- var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);
- return ordinaryGetOwnMetadata(metadataKey, anObject(target), targetKey);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-metadata.js":
- /*!****************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-metadata.js ***!
- \****************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsnextReflectHasMetadataJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var ReflectMetadataModule = __webpack_require__(
- /*! ../internals/reflect-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var getPrototypeOf = __webpack_require__(
- /*! ../internals/object-get-prototype-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js");
-
- var ordinaryHasOwnMetadata = ReflectMetadataModule.has;
- var toMetadataKey = ReflectMetadataModule.toKey;
-
- var ordinaryHasMetadata = function ordinaryHasMetadata(MetadataKey, O, P) {
- var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);
- if (hasOwn) return true;
- var parent = getPrototypeOf(O);
- return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;
- }; // `Reflect.hasMetadata` method
- // https://github.com/rbuckton/reflect-metadata
-
-
- $({
- target: 'Reflect',
- stat: true
- }, {
- hasMetadata: function hasMetadata(metadataKey, target
- /* , targetKey */
- ) {
- var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);
- return ordinaryHasMetadata(metadataKey, anObject(target), targetKey);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js":
- /*!********************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js ***!
- \********************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsnextReflectHasOwnMetadataJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var ReflectMetadataModule = __webpack_require__(
- /*! ../internals/reflect-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var ordinaryHasOwnMetadata = ReflectMetadataModule.has;
- var toMetadataKey = ReflectMetadataModule.toKey; // `Reflect.hasOwnMetadata` method
- // https://github.com/rbuckton/reflect-metadata
-
- $({
- target: 'Reflect',
- stat: true
- }, {
- hasOwnMetadata: function hasOwnMetadata(metadataKey, target
- /* , targetKey */
- ) {
- var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);
- return ordinaryHasOwnMetadata(metadataKey, anObject(target), targetKey);
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.metadata.js":
- /*!************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.metadata.js ***!
- \************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesEsnextReflectMetadataJs(module, exports, __webpack_require__) {
- var $ = __webpack_require__(
- /*! ../internals/export */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js");
-
- var ReflectMetadataModule = __webpack_require__(
- /*! ../internals/reflect-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js");
-
- var anObject = __webpack_require__(
- /*! ../internals/an-object */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js");
-
- var toMetadataKey = ReflectMetadataModule.toKey;
- var ordinaryDefineOwnMetadata = ReflectMetadataModule.set; // `Reflect.metadata` method
- // https://github.com/rbuckton/reflect-metadata
-
- $({
- target: 'Reflect',
- stat: true
- }, {
- metadata: function metadata(metadataKey, metadataValue) {
- return function decorator(target, key) {
- ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetadataKey(key));
- };
- }
- });
- /***/
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/web.dom-collections.for-each.js":
- /*!*****************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/web.dom-collections.for-each.js ***!
- \*****************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesWebDomCollectionsForEachJs(module, exports, __webpack_require__) {
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var DOMIterables = __webpack_require__(
- /*! ../internals/dom-iterables */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/dom-iterables.js");
-
- var forEach = __webpack_require__(
- /*! ../internals/array-for-each */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-for-each.js");
-
- var createNonEnumerableProperty = __webpack_require__(
- /*! ../internals/create-non-enumerable-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js");
-
- for (var COLLECTION_NAME in DOMIterables) {
- var Collection = global[COLLECTION_NAME];
- var CollectionPrototype = Collection && Collection.prototype; // some Chrome versions have non-configurable methods on DOMTokenList
-
- if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {
- createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);
- } catch (error) {
- CollectionPrototype.forEach = forEach;
- }
- }
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/web.dom-collections.iterator.js":
- /*!*****************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/web.dom-collections.iterator.js ***!
- \*****************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsModulesWebDomCollectionsIteratorJs(module, exports, __webpack_require__) {
- var global = __webpack_require__(
- /*! ../internals/global */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js");
-
- var DOMIterables = __webpack_require__(
- /*! ../internals/dom-iterables */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/dom-iterables.js");
-
- var ArrayIteratorMethods = __webpack_require__(
- /*! ../modules/es.array.iterator */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.iterator.js");
-
- var createNonEnumerableProperty = __webpack_require__(
- /*! ../internals/create-non-enumerable-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js");
-
- var wellKnownSymbol = __webpack_require__(
- /*! ../internals/well-known-symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js");
-
- var ITERATOR = wellKnownSymbol('iterator');
- var TO_STRING_TAG = wellKnownSymbol('toStringTag');
- var ArrayValues = ArrayIteratorMethods.values;
-
- for (var COLLECTION_NAME in DOMIterables) {
- var Collection = global[COLLECTION_NAME];
- var CollectionPrototype = Collection && Collection.prototype;
-
- if (CollectionPrototype) {
- // some Chrome versions have non-configurable methods on DOMTokenList
- if (CollectionPrototype[ITERATOR] !== ArrayValues) try {
- createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);
- } catch (error) {
- CollectionPrototype[ITERATOR] = ArrayValues;
- }
-
- if (!CollectionPrototype[TO_STRING_TAG]) {
- createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
- }
-
- if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {
- // some Chrome versions have non-configurable methods on DOMTokenList
- if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {
- createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
- } catch (error) {
- CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
- }
- }
- }
- }
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/proposals/reflect-metadata.js":
- /*!*******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/node_modules/core-js/proposals/reflect-metadata.js ***!
- \*******************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesAngularDevkitBuildAngularNode_modulesCoreJsProposalsReflectMetadataJs(module, exports, __webpack_require__) {
- __webpack_require__(
- /*! ../modules/esnext.reflect.define-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.define-metadata.js");
-
- __webpack_require__(
- /*! ../modules/esnext.reflect.delete-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.delete-metadata.js");
-
- __webpack_require__(
- /*! ../modules/esnext.reflect.get-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata.js");
-
- __webpack_require__(
- /*! ../modules/esnext.reflect.get-metadata-keys */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js");
-
- __webpack_require__(
- /*! ../modules/esnext.reflect.get-own-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js");
-
- __webpack_require__(
- /*! ../modules/esnext.reflect.get-own-metadata-keys */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js");
-
- __webpack_require__(
- /*! ../modules/esnext.reflect.has-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-metadata.js");
-
- __webpack_require__(
- /*! ../modules/esnext.reflect.has-own-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js");
-
- __webpack_require__(
- /*! ../modules/esnext.reflect.metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.metadata.js");
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/es5-jit-polyfills.js":
- /*!******************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/es5-jit-polyfills.js ***!
- \******************************************************************************************************/
-
- /*! no exports provided */
-
- /***/
- function node_modulesAngularDevkitBuildAngularSrcAngularCliFilesModelsEs5JitPolyfillsJs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */
-
-
- var core_js_es_reflect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! core-js/es/reflect */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/es/reflect/index.js");
- /* harmony import */
-
-
- var core_js_es_reflect__WEBPACK_IMPORTED_MODULE_0___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_es_reflect__WEBPACK_IMPORTED_MODULE_0__);
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/es5-polyfills.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/es5-polyfills.js ***!
- \**************************************************************************************************/
-
- /*! no exports provided */
-
- /***/
- function node_modulesAngularDevkitBuildAngularSrcAngularCliFilesModelsEs5PolyfillsJs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */
-
-
- var core_js_es_symbol__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! core-js/es/symbol */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/es/symbol/index.js");
- /* harmony import */
-
-
- var core_js_es_symbol__WEBPACK_IMPORTED_MODULE_0___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_es_symbol__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */
-
-
- var core_js_modules_es_function_bind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! core-js/modules/es.function.bind */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.function.bind.js");
- /* harmony import */
-
-
- var core_js_modules_es_function_bind__WEBPACK_IMPORTED_MODULE_1___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_function_bind__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */
-
-
- var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
- /*! core-js/modules/es.function.name */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.function.name.js");
- /* harmony import */
-
-
- var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_2___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */
-
-
- var core_js_modules_es_function_has_instance__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
- /*! core-js/modules/es.function.has-instance */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.function.has-instance.js");
- /* harmony import */
-
-
- var core_js_modules_es_function_has_instance__WEBPACK_IMPORTED_MODULE_3___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_function_has_instance__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */
-
-
- var core_js_modules_es_object_create__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
- /*! core-js/modules/es.object.create */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.create.js");
- /* harmony import */
-
-
- var core_js_modules_es_object_create__WEBPACK_IMPORTED_MODULE_4___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_object_create__WEBPACK_IMPORTED_MODULE_4__);
- /* harmony import */
-
-
- var core_js_modules_es_object_define_property__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
- /*! core-js/modules/es.object.define-property */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.define-property.js");
- /* harmony import */
-
-
- var core_js_modules_es_object_define_property__WEBPACK_IMPORTED_MODULE_5___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_object_define_property__WEBPACK_IMPORTED_MODULE_5__);
- /* harmony import */
-
-
- var core_js_modules_es_object_define_properties__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
- /*! core-js/modules/es.object.define-properties */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.define-properties.js");
- /* harmony import */
-
-
- var core_js_modules_es_object_define_properties__WEBPACK_IMPORTED_MODULE_6___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_object_define_properties__WEBPACK_IMPORTED_MODULE_6__);
- /* harmony import */
-
-
- var core_js_modules_es_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
- /*! core-js/modules/es.object.get-own-property-descriptor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.get-own-property-descriptor.js");
- /* harmony import */
-
-
- var core_js_modules_es_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_7___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor__WEBPACK_IMPORTED_MODULE_7__);
- /* harmony import */
-
-
- var core_js_modules_es_object_get_prototype_of__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(
- /*! core-js/modules/es.object.get-prototype-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.get-prototype-of.js");
- /* harmony import */
-
-
- var core_js_modules_es_object_get_prototype_of__WEBPACK_IMPORTED_MODULE_8___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_object_get_prototype_of__WEBPACK_IMPORTED_MODULE_8__);
- /* harmony import */
-
-
- var core_js_modules_es_object_keys__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(
- /*! core-js/modules/es.object.keys */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.keys.js");
- /* harmony import */
-
-
- var core_js_modules_es_object_keys__WEBPACK_IMPORTED_MODULE_9___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_object_keys__WEBPACK_IMPORTED_MODULE_9__);
- /* harmony import */
-
-
- var core_js_modules_es_object_get_own_property_names__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(
- /*! core-js/modules/es.object.get-own-property-names */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.get-own-property-names.js");
- /* harmony import */
-
-
- var core_js_modules_es_object_get_own_property_names__WEBPACK_IMPORTED_MODULE_10___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_object_get_own_property_names__WEBPACK_IMPORTED_MODULE_10__);
- /* harmony import */
-
-
- var core_js_modules_es_object_freeze__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(
- /*! core-js/modules/es.object.freeze */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.freeze.js");
- /* harmony import */
-
-
- var core_js_modules_es_object_freeze__WEBPACK_IMPORTED_MODULE_11___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_object_freeze__WEBPACK_IMPORTED_MODULE_11__);
- /* harmony import */
-
-
- var core_js_modules_es_object_seal__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(
- /*! core-js/modules/es.object.seal */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.seal.js");
- /* harmony import */
-
-
- var core_js_modules_es_object_seal__WEBPACK_IMPORTED_MODULE_12___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_object_seal__WEBPACK_IMPORTED_MODULE_12__);
- /* harmony import */
-
-
- var core_js_modules_es_object_prevent_extensions__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(
- /*! core-js/modules/es.object.prevent-extensions */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.prevent-extensions.js");
- /* harmony import */
-
-
- var core_js_modules_es_object_prevent_extensions__WEBPACK_IMPORTED_MODULE_13___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_object_prevent_extensions__WEBPACK_IMPORTED_MODULE_13__);
- /* harmony import */
-
-
- var core_js_modules_es_object_is_frozen__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(
- /*! core-js/modules/es.object.is-frozen */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is-frozen.js");
- /* harmony import */
-
-
- var core_js_modules_es_object_is_frozen__WEBPACK_IMPORTED_MODULE_14___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_object_is_frozen__WEBPACK_IMPORTED_MODULE_14__);
- /* harmony import */
-
-
- var core_js_modules_es_object_is_sealed__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(
- /*! core-js/modules/es.object.is-sealed */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is-sealed.js");
- /* harmony import */
-
-
- var core_js_modules_es_object_is_sealed__WEBPACK_IMPORTED_MODULE_15___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_object_is_sealed__WEBPACK_IMPORTED_MODULE_15__);
- /* harmony import */
-
-
- var core_js_modules_es_object_is_extensible__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(
- /*! core-js/modules/es.object.is-extensible */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is-extensible.js");
- /* harmony import */
-
-
- var core_js_modules_es_object_is_extensible__WEBPACK_IMPORTED_MODULE_16___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_object_is_extensible__WEBPACK_IMPORTED_MODULE_16__);
- /* harmony import */
-
-
- var core_js_modules_es_object_assign__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(
- /*! core-js/modules/es.object.assign */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.assign.js");
- /* harmony import */
-
-
- var core_js_modules_es_object_assign__WEBPACK_IMPORTED_MODULE_17___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_object_assign__WEBPACK_IMPORTED_MODULE_17__);
- /* harmony import */
-
-
- var core_js_modules_es_object_is__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(
- /*! core-js/modules/es.object.is */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is.js");
- /* harmony import */
-
-
- var core_js_modules_es_object_is__WEBPACK_IMPORTED_MODULE_18___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_object_is__WEBPACK_IMPORTED_MODULE_18__);
- /* harmony import */
-
-
- var core_js_modules_es_object_set_prototype_of__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(
- /*! core-js/modules/es.object.set-prototype-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.set-prototype-of.js");
- /* harmony import */
-
-
- var core_js_modules_es_object_set_prototype_of__WEBPACK_IMPORTED_MODULE_19___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_object_set_prototype_of__WEBPACK_IMPORTED_MODULE_19__);
- /* harmony import */
-
-
- var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(
- /*! core-js/modules/es.object.to-string */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.to-string.js");
- /* harmony import */
-
-
- var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_20___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_20__);
- /* harmony import */
-
-
- var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(
- /*! core-js/modules/es.array.concat */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.concat.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_21___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_21__);
- /* harmony import */
-
-
- var core_js_modules_es_array_is_array__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(
- /*! core-js/modules/es.array.is-array */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.is-array.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_is_array__WEBPACK_IMPORTED_MODULE_22___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_is_array__WEBPACK_IMPORTED_MODULE_22__);
- /* harmony import */
-
-
- var core_js_modules_es_array_from__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(
- /*! core-js/modules/es.array.from */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.from.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_from__WEBPACK_IMPORTED_MODULE_23___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_from__WEBPACK_IMPORTED_MODULE_23__);
- /* harmony import */
-
-
- var core_js_modules_es_array_of__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(
- /*! core-js/modules/es.array.of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.of.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_of__WEBPACK_IMPORTED_MODULE_24___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_of__WEBPACK_IMPORTED_MODULE_24__);
- /* harmony import */
-
-
- var core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(
- /*! core-js/modules/es.array.join */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.join.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_25___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_25__);
- /* harmony import */
-
-
- var core_js_modules_es_array_slice__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(
- /*! core-js/modules/es.array.slice */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.slice.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_slice__WEBPACK_IMPORTED_MODULE_26___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_slice__WEBPACK_IMPORTED_MODULE_26__);
- /* harmony import */
-
-
- var core_js_modules_es_array_splice__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(
- /*! core-js/modules/es.array.splice */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.splice.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_splice__WEBPACK_IMPORTED_MODULE_27___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_splice__WEBPACK_IMPORTED_MODULE_27__);
- /* harmony import */
-
-
- var core_js_modules_es_array_sort__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(
- /*! core-js/modules/es.array.sort */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.sort.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_sort__WEBPACK_IMPORTED_MODULE_28___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_sort__WEBPACK_IMPORTED_MODULE_28__);
- /* harmony import */
-
-
- var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(
- /*! core-js/modules/es.array.for-each */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.for-each.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_29___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_29__);
- /* harmony import */
-
-
- var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(
- /*! core-js/modules/es.array.map */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.map.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_30___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_30__);
- /* harmony import */
-
-
- var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(
- /*! core-js/modules/es.array.filter */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.filter.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_31___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_31__);
- /* harmony import */
-
-
- var core_js_modules_es_array_some__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(
- /*! core-js/modules/es.array.some */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.some.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_some__WEBPACK_IMPORTED_MODULE_32___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_some__WEBPACK_IMPORTED_MODULE_32__);
- /* harmony import */
-
-
- var core_js_modules_es_array_every__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(
- /*! core-js/modules/es.array.every */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.every.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_every__WEBPACK_IMPORTED_MODULE_33___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_every__WEBPACK_IMPORTED_MODULE_33__);
- /* harmony import */
-
-
- var core_js_modules_es_array_reduce__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(
- /*! core-js/modules/es.array.reduce */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.reduce.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_reduce__WEBPACK_IMPORTED_MODULE_34___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_reduce__WEBPACK_IMPORTED_MODULE_34__);
- /* harmony import */
-
-
- var core_js_modules_es_array_reduce_right__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(
- /*! core-js/modules/es.array.reduce-right */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.reduce-right.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_reduce_right__WEBPACK_IMPORTED_MODULE_35___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_reduce_right__WEBPACK_IMPORTED_MODULE_35__);
- /* harmony import */
-
-
- var core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(
- /*! core-js/modules/es.array.index-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.index-of.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_36___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_36__);
- /* harmony import */
-
-
- var core_js_modules_es_array_last_index_of__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(
- /*! core-js/modules/es.array.last-index-of */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.last-index-of.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_last_index_of__WEBPACK_IMPORTED_MODULE_37___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_last_index_of__WEBPACK_IMPORTED_MODULE_37__);
- /* harmony import */
-
-
- var core_js_modules_es_array_copy_within__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(
- /*! core-js/modules/es.array.copy-within */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.copy-within.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_copy_within__WEBPACK_IMPORTED_MODULE_38___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_copy_within__WEBPACK_IMPORTED_MODULE_38__);
- /* harmony import */
-
-
- var core_js_modules_es_array_fill__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(
- /*! core-js/modules/es.array.fill */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.fill.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_fill__WEBPACK_IMPORTED_MODULE_39___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_fill__WEBPACK_IMPORTED_MODULE_39__);
- /* harmony import */
-
-
- var core_js_modules_es_array_find__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(
- /*! core-js/modules/es.array.find */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.find.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_find__WEBPACK_IMPORTED_MODULE_40___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_find__WEBPACK_IMPORTED_MODULE_40__);
- /* harmony import */
-
-
- var core_js_modules_es_array_find_index__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(
- /*! core-js/modules/es.array.find-index */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.find-index.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_find_index__WEBPACK_IMPORTED_MODULE_41___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_find_index__WEBPACK_IMPORTED_MODULE_41__);
- /* harmony import */
-
-
- var core_js_modules_es_array_iterator__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(
- /*! core-js/modules/es.array.iterator */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.iterator.js");
- /* harmony import */
-
-
- var core_js_modules_es_array_iterator__WEBPACK_IMPORTED_MODULE_42___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_array_iterator__WEBPACK_IMPORTED_MODULE_42__);
- /* harmony import */
-
-
- var core_js_modules_es_string_from_code_point__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(
- /*! core-js/modules/es.string.from-code-point */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.from-code-point.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_from_code_point__WEBPACK_IMPORTED_MODULE_43___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_from_code_point__WEBPACK_IMPORTED_MODULE_43__);
- /* harmony import */
-
-
- var core_js_modules_es_string_raw__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(
- /*! core-js/modules/es.string.raw */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.raw.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_raw__WEBPACK_IMPORTED_MODULE_44___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_raw__WEBPACK_IMPORTED_MODULE_44__);
- /* harmony import */
-
-
- var core_js_modules_es_string_trim__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(
- /*! core-js/modules/es.string.trim */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.trim.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_trim__WEBPACK_IMPORTED_MODULE_45___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_trim__WEBPACK_IMPORTED_MODULE_45__);
- /* harmony import */
-
-
- var core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(
- /*! core-js/modules/es.string.iterator */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.iterator.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_46___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_46__);
- /* harmony import */
-
-
- var core_js_modules_es_string_code_point_at__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(
- /*! core-js/modules/es.string.code-point-at */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.code-point-at.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_code_point_at__WEBPACK_IMPORTED_MODULE_47___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_code_point_at__WEBPACK_IMPORTED_MODULE_47__);
- /* harmony import */
-
-
- var core_js_modules_es_string_ends_with__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(
- /*! core-js/modules/es.string.ends-with */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.ends-with.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_ends_with__WEBPACK_IMPORTED_MODULE_48___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_ends_with__WEBPACK_IMPORTED_MODULE_48__);
- /* harmony import */
-
-
- var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(
- /*! core-js/modules/es.string.includes */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.includes.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_49___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_49__);
- /* harmony import */
-
-
- var core_js_modules_es_string_repeat__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(
- /*! core-js/modules/es.string.repeat */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.repeat.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_repeat__WEBPACK_IMPORTED_MODULE_50___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_repeat__WEBPACK_IMPORTED_MODULE_50__);
- /* harmony import */
-
-
- var core_js_modules_es_string_starts_with__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(
- /*! core-js/modules/es.string.starts-with */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.starts-with.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_starts_with__WEBPACK_IMPORTED_MODULE_51___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_starts_with__WEBPACK_IMPORTED_MODULE_51__);
- /* harmony import */
-
-
- var core_js_modules_es_string_anchor__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(
- /*! core-js/modules/es.string.anchor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.anchor.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_anchor__WEBPACK_IMPORTED_MODULE_52___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_anchor__WEBPACK_IMPORTED_MODULE_52__);
- /* harmony import */
-
-
- var core_js_modules_es_string_big__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(
- /*! core-js/modules/es.string.big */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.big.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_big__WEBPACK_IMPORTED_MODULE_53___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_big__WEBPACK_IMPORTED_MODULE_53__);
- /* harmony import */
-
-
- var core_js_modules_es_string_blink__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(
- /*! core-js/modules/es.string.blink */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.blink.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_blink__WEBPACK_IMPORTED_MODULE_54___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_blink__WEBPACK_IMPORTED_MODULE_54__);
- /* harmony import */
-
-
- var core_js_modules_es_string_bold__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(
- /*! core-js/modules/es.string.bold */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.bold.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_bold__WEBPACK_IMPORTED_MODULE_55___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_bold__WEBPACK_IMPORTED_MODULE_55__);
- /* harmony import */
-
-
- var core_js_modules_es_string_fixed__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(
- /*! core-js/modules/es.string.fixed */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.fixed.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_fixed__WEBPACK_IMPORTED_MODULE_56___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_fixed__WEBPACK_IMPORTED_MODULE_56__);
- /* harmony import */
-
-
- var core_js_modules_es_string_fontcolor__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(
- /*! core-js/modules/es.string.fontcolor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.fontcolor.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_fontcolor__WEBPACK_IMPORTED_MODULE_57___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_fontcolor__WEBPACK_IMPORTED_MODULE_57__);
- /* harmony import */
-
-
- var core_js_modules_es_string_fontsize__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(
- /*! core-js/modules/es.string.fontsize */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.fontsize.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_fontsize__WEBPACK_IMPORTED_MODULE_58___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_fontsize__WEBPACK_IMPORTED_MODULE_58__);
- /* harmony import */
-
-
- var core_js_modules_es_string_italics__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(
- /*! core-js/modules/es.string.italics */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.italics.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_italics__WEBPACK_IMPORTED_MODULE_59___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_italics__WEBPACK_IMPORTED_MODULE_59__);
- /* harmony import */
-
-
- var core_js_modules_es_string_link__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(
- /*! core-js/modules/es.string.link */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.link.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_link__WEBPACK_IMPORTED_MODULE_60___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_link__WEBPACK_IMPORTED_MODULE_60__);
- /* harmony import */
-
-
- var core_js_modules_es_string_small__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(
- /*! core-js/modules/es.string.small */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.small.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_small__WEBPACK_IMPORTED_MODULE_61___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_small__WEBPACK_IMPORTED_MODULE_61__);
- /* harmony import */
-
-
- var core_js_modules_es_string_strike__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(
- /*! core-js/modules/es.string.strike */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.strike.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_strike__WEBPACK_IMPORTED_MODULE_62___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_strike__WEBPACK_IMPORTED_MODULE_62__);
- /* harmony import */
-
-
- var core_js_modules_es_string_sub__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(
- /*! core-js/modules/es.string.sub */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.sub.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_sub__WEBPACK_IMPORTED_MODULE_63___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_sub__WEBPACK_IMPORTED_MODULE_63__);
- /* harmony import */
-
-
- var core_js_modules_es_string_sup__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(
- /*! core-js/modules/es.string.sup */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.sup.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_sup__WEBPACK_IMPORTED_MODULE_64___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_sup__WEBPACK_IMPORTED_MODULE_64__);
- /* harmony import */
-
-
- var core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(
- /*! core-js/modules/es.string.match */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.match.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_65___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_65__);
- /* harmony import */
-
-
- var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(
- /*! core-js/modules/es.string.replace */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.replace.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_66___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_66__);
- /* harmony import */
-
-
- var core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(
- /*! core-js/modules/es.string.search */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.search.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_67___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_67__);
- /* harmony import */
-
-
- var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(
- /*! core-js/modules/es.string.split */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.split.js");
- /* harmony import */
-
-
- var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_68___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_68__);
- /* harmony import */
-
-
- var core_js_modules_es_parse_int__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(
- /*! core-js/modules/es.parse-int */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.parse-int.js");
- /* harmony import */
-
-
- var core_js_modules_es_parse_int__WEBPACK_IMPORTED_MODULE_69___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_parse_int__WEBPACK_IMPORTED_MODULE_69__);
- /* harmony import */
-
-
- var core_js_modules_es_parse_float__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(
- /*! core-js/modules/es.parse-float */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.parse-float.js");
- /* harmony import */
-
-
- var core_js_modules_es_parse_float__WEBPACK_IMPORTED_MODULE_70___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_parse_float__WEBPACK_IMPORTED_MODULE_70__);
- /* harmony import */
-
-
- var core_js_es_number__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(
- /*! core-js/es/number */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/es/number/index.js");
- /* harmony import */
-
-
- var core_js_es_number__WEBPACK_IMPORTED_MODULE_71___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_es_number__WEBPACK_IMPORTED_MODULE_71__);
- /* harmony import */
-
-
- var core_js_es_math__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(
- /*! core-js/es/math */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/es/math/index.js");
- /* harmony import */
-
-
- var core_js_es_math__WEBPACK_IMPORTED_MODULE_72___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_es_math__WEBPACK_IMPORTED_MODULE_72__);
- /* harmony import */
-
-
- var core_js_es_date__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(
- /*! core-js/es/date */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/es/date/index.js");
- /* harmony import */
-
-
- var core_js_es_date__WEBPACK_IMPORTED_MODULE_73___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_es_date__WEBPACK_IMPORTED_MODULE_73__);
- /* harmony import */
-
-
- var core_js_modules_es_regexp_constructor__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(
- /*! core-js/modules/es.regexp.constructor */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.constructor.js");
- /* harmony import */
-
-
- var core_js_modules_es_regexp_constructor__WEBPACK_IMPORTED_MODULE_74___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_regexp_constructor__WEBPACK_IMPORTED_MODULE_74__);
- /* harmony import */
-
-
- var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(
- /*! core-js/modules/es.regexp.to-string */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.to-string.js");
- /* harmony import */
-
-
- var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_75___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_75__);
- /* harmony import */
-
-
- var core_js_modules_es_regexp_flags__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(
- /*! core-js/modules/es.regexp.flags */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.flags.js");
- /* harmony import */
-
-
- var core_js_modules_es_regexp_flags__WEBPACK_IMPORTED_MODULE_76___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_regexp_flags__WEBPACK_IMPORTED_MODULE_76__);
- /* harmony import */
-
-
- var core_js_modules_es_map__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(
- /*! core-js/modules/es.map */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.map.js");
- /* harmony import */
-
-
- var core_js_modules_es_map__WEBPACK_IMPORTED_MODULE_77___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_map__WEBPACK_IMPORTED_MODULE_77__);
- /* harmony import */
-
-
- var core_js_modules_es_weak_map__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(
- /*! core-js/modules/es.weak-map */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.weak-map.js");
- /* harmony import */
-
-
- var core_js_modules_es_weak_map__WEBPACK_IMPORTED_MODULE_78___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_weak_map__WEBPACK_IMPORTED_MODULE_78__);
- /* harmony import */
-
-
- var core_js_modules_es_set__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(
- /*! core-js/modules/es.set */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.set.js");
- /* harmony import */
-
-
- var core_js_modules_es_set__WEBPACK_IMPORTED_MODULE_79___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_set__WEBPACK_IMPORTED_MODULE_79__);
- /* harmony import */
-
-
- var core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(
- /*! core-js/modules/web.dom-collections.for-each */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/web.dom-collections.for-each.js");
- /* harmony import */
-
-
- var core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_80___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_80__);
- /* harmony import */
-
-
- var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(
- /*! core-js/modules/web.dom-collections.iterator */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/web.dom-collections.iterator.js");
- /* harmony import */
-
-
- var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_81___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_81__);
- /* harmony import */
-
-
- var core_js_modules_es_promise__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(
- /*! core-js/modules/es.promise */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.promise.js");
- /* harmony import */
-
-
- var core_js_modules_es_promise__WEBPACK_IMPORTED_MODULE_82___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_promise__WEBPACK_IMPORTED_MODULE_82__);
- /* harmony import */
-
-
- var core_js_modules_es_json_to_string_tag__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(
- /*! core-js/modules/es.json.to-string-tag */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.json.to-string-tag.js");
- /* harmony import */
-
-
- var core_js_modules_es_json_to_string_tag__WEBPACK_IMPORTED_MODULE_83___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_modules_es_json_to_string_tag__WEBPACK_IMPORTED_MODULE_83__);
- /* harmony import */
-
-
- var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(
- /*! regenerator-runtime/runtime */
- "./node_modules/regenerator-runtime/runtime.js");
- /* harmony import */
-
-
- var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_84___default =
- /*#__PURE__*/
- __webpack_require__.n(regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_84__);
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
- // ES2015 symbol capabilities
- // ES2015 function capabilities
- // ES2015 object capabilities
- // ES2015 array capabilities
- // ES2015 string capabilities
-
- /***/
-
- },
-
- /***/
- "./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js":
- /*!**************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js ***!
- \**************************************************************************************************/
-
- /*! no exports provided */
-
- /***/
- function node_modulesAngularDevkitBuildAngularSrcAngularCliFilesModelsJitPolyfillsJs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */
-
-
- var core_js_proposals_reflect_metadata__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! core-js/proposals/reflect-metadata */
- "./node_modules/@angular-devkit/build-angular/node_modules/core-js/proposals/reflect-metadata.js");
- /* harmony import */
-
-
- var core_js_proposals_reflect_metadata__WEBPACK_IMPORTED_MODULE_0___default =
- /*#__PURE__*/
- __webpack_require__.n(core_js_proposals_reflect_metadata__WEBPACK_IMPORTED_MODULE_0__);
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
- /***/
-
- },
-
- /***/
- "./node_modules/regenerator-runtime/runtime.js":
- /*!*****************************************************!*\
- !*** ./node_modules/regenerator-runtime/runtime.js ***!
- \*****************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesRegeneratorRuntimeRuntimeJs(module, exports, __webpack_require__) {
- /**
- * Copyright (c) 2014-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
- var runtime = function (exports) {
- "use strict";
-
- var Op = Object.prototype;
- var hasOwn = Op.hasOwnProperty;
- var undefined; // More compressible than void 0.
-
- var $Symbol = typeof Symbol === "function" ? Symbol : {};
- var iteratorSymbol = $Symbol.iterator || "@@iterator";
- var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
- var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
-
- function wrap(innerFn, outerFn, self, tryLocsList) {
- // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
- var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
- var generator = Object.create(protoGenerator.prototype);
- var context = new Context(tryLocsList || []); // The ._invoke method unifies the implementations of the .next,
- // .throw, and .return methods.
-
- generator._invoke = makeInvokeMethod(innerFn, self, context);
- return generator;
- }
-
- exports.wrap = wrap; // Try/catch helper to minimize deoptimizations. Returns a completion
- // record like context.tryEntries[i].completion. This interface could
- // have been (and was previously) designed to take a closure to be
- // invoked without arguments, but in all the cases we care about we
- // already have an existing method we want to call, so there's no need
- // to create a new function object. We can even get away with assuming
- // the method takes exactly one argument, since that happens to be true
- // in every case, so we don't have to touch the arguments object. The
- // only additional allocation required is the completion record, which
- // has a stable shape and so hopefully should be cheap to allocate.
-
- function tryCatch(fn, obj, arg) {
- try {
- return {
- type: "normal",
- arg: fn.call(obj, arg)
- };
- } catch (err) {
- return {
- type: "throw",
- arg: err
- };
- }
- }
-
- var GenStateSuspendedStart = "suspendedStart";
- var GenStateSuspendedYield = "suspendedYield";
- var GenStateExecuting = "executing";
- var GenStateCompleted = "completed"; // Returning this object from the innerFn has the same effect as
- // breaking out of the dispatch switch statement.
-
- var ContinueSentinel = {}; // Dummy constructor functions that we use as the .constructor and
- // .constructor.prototype properties for functions that return Generator
- // objects. For full spec compliance, you may wish to configure your
- // minifier not to mangle the names of these two functions.
-
- function Generator() {}
-
- function GeneratorFunction() {}
-
- function GeneratorFunctionPrototype() {} // This is a polyfill for %IteratorPrototype% for environments that
- // don't natively support it.
-
-
- var IteratorPrototype = {};
-
- IteratorPrototype[iteratorSymbol] = function () {
- return this;
- };
-
- var getProto = Object.getPrototypeOf;
- var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
-
- if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
- // This environment has a native %IteratorPrototype%; use it instead
- // of the polyfill.
- IteratorPrototype = NativeIteratorPrototype;
- }
-
- var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
- GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
- GeneratorFunctionPrototype.constructor = GeneratorFunction;
- GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = "GeneratorFunction"; // Helper for defining the .next, .throw, and .return methods of the
- // Iterator interface in terms of a single ._invoke method.
-
- function defineIteratorMethods(prototype) {
- ["next", "throw", "return"].forEach(function (method) {
- prototype[method] = function (arg) {
- return this._invoke(method, arg);
- };
- });
- }
-
- exports.isGeneratorFunction = function (genFun) {
- var ctor = typeof genFun === "function" && genFun.constructor;
- return ctor ? ctor === GeneratorFunction || // For the native GeneratorFunction constructor, the best we can
- // do is to check its .name property.
- (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
- };
-
- exports.mark = function (genFun) {
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
- } else {
- genFun.__proto__ = GeneratorFunctionPrototype;
-
- if (!(toStringTagSymbol in genFun)) {
- genFun[toStringTagSymbol] = "GeneratorFunction";
- }
- }
-
- genFun.prototype = Object.create(Gp);
- return genFun;
- }; // Within the body of any async function, `await x` is transformed to
- // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
- // `hasOwn.call(value, "__await")` to determine if the yielded value is
- // meant to be awaited.
-
-
- exports.awrap = function (arg) {
- return {
- __await: arg
- };
- };
-
- function AsyncIterator(generator) {
- function invoke(method, arg, resolve, reject) {
- var record = tryCatch(generator[method], generator, arg);
-
- if (record.type === "throw") {
- reject(record.arg);
- } else {
- var result = record.arg;
- var value = result.value;
-
- if (value && typeof value === "object" && hasOwn.call(value, "__await")) {
- return Promise.resolve(value.__await).then(function (value) {
- invoke("next", value, resolve, reject);
- }, function (err) {
- invoke("throw", err, resolve, reject);
- });
- }
-
- return Promise.resolve(value).then(function (unwrapped) {
- // When a yielded Promise is resolved, its final value becomes
- // the .value of the Promise<{value,done}> result for the
- // current iteration.
- result.value = unwrapped;
- resolve(result);
- }, function (error) {
- // If a rejected Promise was yielded, throw the rejection back
- // into the async generator function so it can be handled there.
- return invoke("throw", error, resolve, reject);
- });
- }
- }
-
- var previousPromise;
-
- function enqueue(method, arg) {
- function callInvokeWithMethodAndArg() {
- return new Promise(function (resolve, reject) {
- invoke(method, arg, resolve, reject);
- });
- }
-
- return previousPromise = // If enqueue has been called before, then we want to wait until
- // all previous Promises have been resolved before calling invoke,
- // so that results are always delivered in the correct order. If
- // enqueue has not been called before, then it is important to
- // call invoke immediately, without waiting on a callback to fire,
- // so that the async generator function has the opportunity to do
- // any necessary setup in a predictable way. This predictability
- // is why the Promise constructor synchronously invokes its
- // executor callback, and why async functions synchronously
- // execute code before the first await. Since we implement simple
- // async functions in terms of async generators, it is especially
- // important to get this right, even though it requires care.
- previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, // Avoid propagating failures to Promises returned by later
- // invocations of the iterator.
- callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
- } // Define the unified helper method that is used to implement .next,
- // .throw, and .return (see defineIteratorMethods).
-
-
- this._invoke = enqueue;
- }
-
- defineIteratorMethods(AsyncIterator.prototype);
-
- AsyncIterator.prototype[asyncIteratorSymbol] = function () {
- return this;
- };
-
- exports.AsyncIterator = AsyncIterator; // Note that simple async functions are implemented on top of
- // AsyncIterator objects; they just return a Promise for the value of
- // the final result produced by the iterator.
-
- exports.async = function (innerFn, outerFn, self, tryLocsList) {
- var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));
- return exports.isGeneratorFunction(outerFn) ? iter // If outerFn is a generator, return the full iterator.
- : iter.next().then(function (result) {
- return result.done ? result.value : iter.next();
- });
- };
-
- function makeInvokeMethod(innerFn, self, context) {
- var state = GenStateSuspendedStart;
- return function invoke(method, arg) {
- if (state === GenStateExecuting) {
- throw new Error("Generator is already running");
- }
-
- if (state === GenStateCompleted) {
- if (method === "throw") {
- throw arg;
- } // Be forgiving, per 25.3.3.3.3 of the spec:
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
-
-
- return doneResult();
- }
-
- context.method = method;
- context.arg = arg;
-
- while (true) {
- var delegate = context.delegate;
-
- if (delegate) {
- var delegateResult = maybeInvokeDelegate(delegate, context);
-
- if (delegateResult) {
- if (delegateResult === ContinueSentinel) continue;
- return delegateResult;
- }
- }
-
- if (context.method === "next") {
- // Setting context._sent for legacy support of Babel's
- // function.sent implementation.
- context.sent = context._sent = context.arg;
- } else if (context.method === "throw") {
- if (state === GenStateSuspendedStart) {
- state = GenStateCompleted;
- throw context.arg;
- }
-
- context.dispatchException(context.arg);
- } else if (context.method === "return") {
- context.abrupt("return", context.arg);
- }
-
- state = GenStateExecuting;
- var record = tryCatch(innerFn, self, context);
-
- if (record.type === "normal") {
- // If an exception is thrown from innerFn, we leave state ===
- // GenStateExecuting and loop back for another invocation.
- state = context.done ? GenStateCompleted : GenStateSuspendedYield;
-
- if (record.arg === ContinueSentinel) {
- continue;
- }
-
- return {
- value: record.arg,
- done: context.done
- };
- } else if (record.type === "throw") {
- state = GenStateCompleted; // Dispatch the exception by looping back around to the
- // context.dispatchException(context.arg) call above.
-
- context.method = "throw";
- context.arg = record.arg;
- }
- }
- };
- } // Call delegate.iterator[context.method](context.arg) and handle the
- // result, either by returning a { value, done } result from the
- // delegate iterator, or by modifying context.method and context.arg,
- // setting context.delegate to null, and returning the ContinueSentinel.
-
-
- function maybeInvokeDelegate(delegate, context) {
- var method = delegate.iterator[context.method];
-
- if (method === undefined) {
- // A .throw or .return when the delegate iterator has no .throw
- // method always terminates the yield* loop.
- context.delegate = null;
-
- if (context.method === "throw") {
- // Note: ["return"] must be used for ES3 parsing compatibility.
- if (delegate.iterator["return"]) {
- // If the delegate iterator has a return method, give it a
- // chance to clean up.
- context.method = "return";
- context.arg = undefined;
- maybeInvokeDelegate(delegate, context);
-
- if (context.method === "throw") {
- // If maybeInvokeDelegate(context) changed context.method from
- // "return" to "throw", let that override the TypeError below.
- return ContinueSentinel;
- }
- }
-
- context.method = "throw";
- context.arg = new TypeError("The iterator does not provide a 'throw' method");
- }
-
- return ContinueSentinel;
- }
-
- var record = tryCatch(method, delegate.iterator, context.arg);
-
- if (record.type === "throw") {
- context.method = "throw";
- context.arg = record.arg;
- context.delegate = null;
- return ContinueSentinel;
- }
-
- var info = record.arg;
-
- if (!info) {
- context.method = "throw";
- context.arg = new TypeError("iterator result is not an object");
- context.delegate = null;
- return ContinueSentinel;
- }
-
- if (info.done) {
- // Assign the result of the finished delegate to the temporary
- // variable specified by delegate.resultName (see delegateYield).
- context[delegate.resultName] = info.value; // Resume execution at the desired location (see delegateYield).
-
- context.next = delegate.nextLoc; // If context.method was "throw" but the delegate handled the
- // exception, let the outer generator proceed normally. If
- // context.method was "next", forget context.arg since it has been
- // "consumed" by the delegate iterator. If context.method was
- // "return", allow the original .return call to continue in the
- // outer generator.
-
- if (context.method !== "return") {
- context.method = "next";
- context.arg = undefined;
- }
- } else {
- // Re-yield the result returned by the delegate method.
- return info;
- } // The delegate iterator is finished, so forget it and continue with
- // the outer generator.
-
-
- context.delegate = null;
- return ContinueSentinel;
- } // Define Generator.prototype.{next,throw,return} in terms of the
- // unified ._invoke helper method.
-
-
- defineIteratorMethods(Gp);
- Gp[toStringTagSymbol] = "Generator"; // A Generator should always return itself as the iterator object when the
- // @@iterator function is called on it. Some browsers' implementations of the
- // iterator prototype chain incorrectly implement this, causing the Generator
- // object to not be returned from this call. This ensures that doesn't happen.
- // See https://github.com/facebook/regenerator/issues/274 for more details.
-
- Gp[iteratorSymbol] = function () {
- return this;
- };
-
- Gp.toString = function () {
- return "[object Generator]";
- };
-
- function pushTryEntry(locs) {
- var entry = {
- tryLoc: locs[0]
- };
-
- if (1 in locs) {
- entry.catchLoc = locs[1];
- }
-
- if (2 in locs) {
- entry.finallyLoc = locs[2];
- entry.afterLoc = locs[3];
- }
-
- this.tryEntries.push(entry);
- }
-
- function resetTryEntry(entry) {
- var record = entry.completion || {};
- record.type = "normal";
- delete record.arg;
- entry.completion = record;
- }
-
- function Context(tryLocsList) {
- // The root entry object (effectively a try statement without a catch
- // or a finally block) gives us a place to store values thrown from
- // locations where there is no enclosing try statement.
- this.tryEntries = [{
- tryLoc: "root"
- }];
- tryLocsList.forEach(pushTryEntry, this);
- this.reset(true);
- }
-
- exports.keys = function (object) {
- var keys = [];
-
- for (var key in object) {
- keys.push(key);
- }
-
- keys.reverse(); // Rather than returning an object with a next method, we keep
- // things simple and return the next function itself.
-
- return function next() {
- while (keys.length) {
- var key = keys.pop();
-
- if (key in object) {
- next.value = key;
- next.done = false;
- return next;
- }
- } // To avoid creating an additional object, we just hang the .value
- // and .done properties off the next function object itself. This
- // also ensures that the minifier will not anonymize the function.
-
-
- next.done = true;
- return next;
- };
- };
-
- function values(iterable) {
- if (iterable) {
- var iteratorMethod = iterable[iteratorSymbol];
-
- if (iteratorMethod) {
- return iteratorMethod.call(iterable);
- }
-
- if (typeof iterable.next === "function") {
- return iterable;
- }
-
- if (!isNaN(iterable.length)) {
- var i = -1,
- next = function next() {
- while (++i < iterable.length) {
- if (hasOwn.call(iterable, i)) {
- next.value = iterable[i];
- next.done = false;
- return next;
- }
- }
-
- next.value = undefined;
- next.done = true;
- return next;
- };
-
- return next.next = next;
- }
- } // Return an iterator with no values.
-
-
- return {
- next: doneResult
- };
- }
-
- exports.values = values;
-
- function doneResult() {
- return {
- value: undefined,
- done: true
- };
- }
-
- Context.prototype = {
- constructor: Context,
- reset: function reset(skipTempReset) {
- this.prev = 0;
- this.next = 0; // Resetting context._sent for legacy support of Babel's
- // function.sent implementation.
-
- this.sent = this._sent = undefined;
- this.done = false;
- this.delegate = null;
- this.method = "next";
- this.arg = undefined;
- this.tryEntries.forEach(resetTryEntry);
-
- if (!skipTempReset) {
- for (var name in this) {
- // Not sure about the optimal order of these conditions:
- if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
- this[name] = undefined;
- }
- }
- }
- },
- stop: function stop() {
- this.done = true;
- var rootEntry = this.tryEntries[0];
- var rootRecord = rootEntry.completion;
-
- if (rootRecord.type === "throw") {
- throw rootRecord.arg;
- }
-
- return this.rval;
- },
- dispatchException: function dispatchException(exception) {
- if (this.done) {
- throw exception;
- }
-
- var context = this;
-
- function handle(loc, caught) {
- record.type = "throw";
- record.arg = exception;
- context.next = loc;
-
- if (caught) {
- // If the dispatched exception was caught by a catch block,
- // then let that catch block handle the exception normally.
- context.method = "next";
- context.arg = undefined;
- }
-
- return !!caught;
- }
-
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
- var record = entry.completion;
-
- if (entry.tryLoc === "root") {
- // Exception thrown outside of any try block that could handle
- // it, so set the completion value of the entire function to
- // throw the exception.
- return handle("end");
- }
-
- if (entry.tryLoc <= this.prev) {
- var hasCatch = hasOwn.call(entry, "catchLoc");
- var hasFinally = hasOwn.call(entry, "finallyLoc");
-
- if (hasCatch && hasFinally) {
- if (this.prev < entry.catchLoc) {
- return handle(entry.catchLoc, true);
- } else if (this.prev < entry.finallyLoc) {
- return handle(entry.finallyLoc);
- }
- } else if (hasCatch) {
- if (this.prev < entry.catchLoc) {
- return handle(entry.catchLoc, true);
- }
- } else if (hasFinally) {
- if (this.prev < entry.finallyLoc) {
- return handle(entry.finallyLoc);
- }
- } else {
- throw new Error("try statement without catch or finally");
- }
- }
- }
- },
- abrupt: function abrupt(type, arg) {
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
-
- if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
- var finallyEntry = entry;
- break;
- }
- }
-
- if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
- // Ignore the finally entry if control is not jumping to a
- // location outside the try/catch block.
- finallyEntry = null;
- }
-
- var record = finallyEntry ? finallyEntry.completion : {};
- record.type = type;
- record.arg = arg;
-
- if (finallyEntry) {
- this.method = "next";
- this.next = finallyEntry.finallyLoc;
- return ContinueSentinel;
- }
-
- return this.complete(record);
- },
- complete: function complete(record, afterLoc) {
- if (record.type === "throw") {
- throw record.arg;
- }
-
- if (record.type === "break" || record.type === "continue") {
- this.next = record.arg;
- } else if (record.type === "return") {
- this.rval = this.arg = record.arg;
- this.method = "return";
- this.next = "end";
- } else if (record.type === "normal" && afterLoc) {
- this.next = afterLoc;
- }
-
- return ContinueSentinel;
- },
- finish: function finish(finallyLoc) {
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
-
- if (entry.finallyLoc === finallyLoc) {
- this.complete(entry.completion, entry.afterLoc);
- resetTryEntry(entry);
- return ContinueSentinel;
- }
- }
- },
- "catch": function _catch(tryLoc) {
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
-
- if (entry.tryLoc === tryLoc) {
- var record = entry.completion;
-
- if (record.type === "throw") {
- var thrown = record.arg;
- resetTryEntry(entry);
- }
-
- return thrown;
- }
- } // The context.catch method must only be called with a location
- // argument that corresponds to a known catch block.
-
-
- throw new Error("illegal catch attempt");
- },
- delegateYield: function delegateYield(iterable, resultName, nextLoc) {
- this.delegate = {
- iterator: values(iterable),
- resultName: resultName,
- nextLoc: nextLoc
- };
-
- if (this.method === "next") {
- // Deliberately forget the last sent value so that we don't
- // accidentally pass it on to the delegate.
- this.arg = undefined;
- }
-
- return ContinueSentinel;
- }
- }; // Regardless of whether this script is executing as a CommonJS module
- // or not, return the runtime object so that we can declare the variable
- // regeneratorRuntime in the outer scope, which allows this module to be
- // injected easily by `bin/regenerator --include-runtime script.js`.
-
- return exports;
- }( // If this script is executing as a CommonJS module, use module.exports
- // as the regeneratorRuntime namespace. Otherwise create a new empty
- // object. Either way, the resulting object will be used to initialize
- // the regeneratorRuntime variable at the top of this file.
- true ? module.exports : undefined);
-
- try {
- regeneratorRuntime = runtime;
- } catch (accidentalStrictMode) {
- // This module should not be running in strict mode, so the above
- // assignment should always work unless something is misconfigured. Just
- // in case runtime.js accidentally runs in strict mode, we can escape
- // strict mode using a global Function call. This could conceivably fail
- // if a Content Security Policy forbids using Function, but in that case
- // the proper solution is to fix the accidental strict mode problem. If
- // you've misconfigured your bundler to force strict mode and applied a
- // CSP to forbid Function, and you're not willing to fix either of those
- // problems, please detail your unique predicament in a GitHub issue.
- Function("r", "regeneratorRuntime = r")(runtime);
- }
- /***/
-
- },
-
- /***/
- "./node_modules/tslib/tslib.es6.js":
- /*!*****************************************!*\
- !*** ./node_modules/tslib/tslib.es6.js ***!
- \*****************************************/
-
- /*! exports provided: __extends, __assign, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault */
-
- /***/
- function node_modulesTslibTslibEs6Js(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__extends", function () {
- return __extends;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__assign", function () {
- return _assign;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__rest", function () {
- return __rest;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__decorate", function () {
- return __decorate;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__param", function () {
- return __param;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__metadata", function () {
- return __metadata;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__awaiter", function () {
- return __awaiter;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__generator", function () {
- return __generator;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__exportStar", function () {
- return __exportStar;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__values", function () {
- return __values;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__read", function () {
- return __read;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__spread", function () {
- return __spread;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__await", function () {
- return __await;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__asyncGenerator", function () {
- return __asyncGenerator;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__asyncDelegator", function () {
- return __asyncDelegator;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__asyncValues", function () {
- return __asyncValues;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function () {
- return __makeTemplateObject;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__importStar", function () {
- return __importStar;
- });
- /* harmony export (binding) */
-
-
- __webpack_require__.d(__webpack_exports__, "__importDefault", function () {
- return __importDefault;
- });
- /*! *****************************************************************************
- Copyright (c) Microsoft Corporation. All rights reserved.
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of the
- License at http://www.apache.org/licenses/LICENSE-2.0
-
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
- MERCHANTABLITY OR NON-INFRINGEMENT.
-
- See the Apache Version 2.0 License for specific language governing permissions
- and limitations under the License.
- ***************************************************************************** */
-
- /* global Reflect, Promise */
-
-
- var _extendStatics = function extendStatics(d, b) {
- _extendStatics = Object.setPrototypeOf || {
- __proto__: []
- } instanceof Array && function (d, b) {
- d.__proto__ = b;
- } || function (d, b) {
- for (var p in b) {
- if (b.hasOwnProperty(p)) d[p] = b[p];
- }
- };
-
- return _extendStatics(d, b);
- };
-
- function __extends(d, b) {
- _extendStatics(d, b);
-
- function __() {
- this.constructor = d;
- }
-
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- }
-
- var _assign = function __assign() {
- _assign = Object.assign || function __assign(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);
- };
-
- function __rest(s, e) {
- var t = {};
-
- for (var p in s) {
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
- }
-
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
- if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];
- }
- return t;
- }
-
- function __decorate(decorators, target, key, desc) {
- var c = arguments.length,
- r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
- d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {
- if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- }
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- }
-
- function __param(paramIndex, decorator) {
- return function (target, key) {
- decorator(target, key, paramIndex);
- };
- }
-
- function __metadata(metadataKey, metadataValue) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
- }
-
- function __awaiter(thisArg, _arguments, P, generator) {
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) {
- try {
- step(generator.next(value));
- } catch (e) {
- reject(e);
- }
- }
-
- function rejected(value) {
- try {
- step(generator["throw"](value));
- } catch (e) {
- reject(e);
- }
- }
-
- function step(result) {
- result.done ? resolve(result.value) : new P(function (resolve) {
- resolve(result.value);
- }).then(fulfilled, rejected);
- }
-
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
- }
-
- function __generator(thisArg, body) {
- var _ = {
- label: 0,
- sent: function sent() {
- if (t[0] & 1) throw t[1];
- return t[1];
- },
- trys: [],
- ops: []
- },
- f,
- y,
- t,
- g;
- return g = {
- next: verb(0),
- "throw": verb(1),
- "return": verb(2)
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
- return this;
- }), g;
-
- function verb(n) {
- return function (v) {
- return step([n, v]);
- };
- }
-
- function step(op) {
- if (f) throw new TypeError("Generator is already executing.");
-
- while (_) {
- try {
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
- if (y = 0, t) op = [op[0] & 2, t.value];
-
- switch (op[0]) {
- case 0:
- case 1:
- t = op;
- break;
-
- case 4:
- _.label++;
- return {
- value: op[1],
- done: false
- };
-
- case 5:
- _.label++;
- y = op[1];
- op = [0];
- continue;
-
- case 7:
- op = _.ops.pop();
-
- _.trys.pop();
-
- continue;
-
- default:
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
- _ = 0;
- continue;
- }
-
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
- _.label = op[1];
- break;
- }
-
- if (op[0] === 6 && _.label < t[1]) {
- _.label = t[1];
- t = op;
- break;
- }
-
- if (t && _.label < t[2]) {
- _.label = t[2];
-
- _.ops.push(op);
-
- break;
- }
-
- if (t[2]) _.ops.pop();
-
- _.trys.pop();
-
- continue;
- }
-
- op = body.call(thisArg, _);
- } catch (e) {
- op = [6, e];
- y = 0;
- } finally {
- f = t = 0;
- }
- }
-
- if (op[0] & 5) throw op[1];
- return {
- value: op[0] ? op[1] : void 0,
- done: true
- };
- }
- }
-
- function __exportStar(m, exports) {
- for (var p in m) {
- if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- }
-
- function __values(o) {
- var m = typeof Symbol === "function" && o[Symbol.iterator],
- i = 0;
- if (m) return m.call(o);
- return {
- next: function next() {
- if (o && i >= o.length) o = void 0;
- return {
- value: o && o[i++],
- done: !o
- };
- }
- };
- }
-
- function __read(o, n) {
- var m = typeof Symbol === "function" && o[Symbol.iterator];
- if (!m) return o;
- var i = m.call(o),
- r,
- ar = [],
- e;
-
- try {
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
- ar.push(r.value);
- }
- } catch (error) {
- e = {
- error: error
- };
- } finally {
- try {
- if (r && !r.done && (m = i["return"])) m.call(i);
- } finally {
- if (e) throw e.error;
- }
- }
-
- return ar;
- }
-
- function __spread() {
- for (var ar = [], i = 0; i < arguments.length; i++) {
- ar = ar.concat(__read(arguments[i]));
- }
-
- return ar;
- }
-
- function __await(v) {
- return this instanceof __await ? (this.v = v, this) : new __await(v);
- }
-
- function __asyncGenerator(thisArg, _arguments, generator) {
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
- var g = generator.apply(thisArg, _arguments || []),
- i,
- q = [];
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () {
- return this;
- }, i;
-
- function verb(n) {
- if (g[n]) i[n] = function (v) {
- return new Promise(function (a, b) {
- q.push([n, v, a, b]) > 1 || resume(n, v);
- });
- };
- }
-
- function resume(n, v) {
- try {
- step(g[n](v));
- } catch (e) {
- settle(q[0][3], e);
- }
- }
-
- function step(r) {
- r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
- }
-
- function fulfill(value) {
- resume("next", value);
- }
-
- function reject(value) {
- resume("throw", value);
- }
-
- function settle(f, v) {
- if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
- }
- }
-
- function __asyncDelegator(o) {
- var i, p;
- return i = {}, verb("next"), verb("throw", function (e) {
- throw e;
- }), verb("return"), i[Symbol.iterator] = function () {
- return this;
- }, i;
-
- function verb(n, f) {
- i[n] = o[n] ? function (v) {
- return (p = !p) ? {
- value: __await(o[n](v)),
- done: n === "return"
- } : f ? f(v) : v;
- } : f;
- }
- }
-
- function __asyncValues(o) {
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
- var m = o[Symbol.asyncIterator],
- i;
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () {
- return this;
- }, i);
-
- function verb(n) {
- i[n] = o[n] && function (v) {
- return new Promise(function (resolve, reject) {
- v = o[n](v), settle(resolve, reject, v.done, v.value);
- });
- };
- }
-
- function settle(resolve, reject, d, v) {
- Promise.resolve(v).then(function (v) {
- resolve({
- value: v,
- done: d
- });
- }, reject);
- }
- }
-
- function __makeTemplateObject(cooked, raw) {
- if (Object.defineProperty) {
- Object.defineProperty(cooked, "raw", {
- value: raw
- });
- } else {
- cooked.raw = raw;
- }
-
- return cooked;
- }
-
- ;
-
- function __importStar(mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) {
- if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
- }
- result.default = mod;
- return result;
- }
-
- function __importDefault(mod) {
- return mod && mod.__esModule ? mod : {
- default: mod
- };
- }
- /***/
-
- },
-
- /***/
- "./node_modules/zone.js/dist/zone-evergreen.js":
- /*!*****************************************************!*\
- !*** ./node_modules/zone.js/dist/zone-evergreen.js ***!
- \*****************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesZoneJsDistZoneEvergreenJs(module, exports) {
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
- var Zone$1 = function (global) {
- var performance = global['performance'];
-
- function mark(name) {
- performance && performance['mark'] && performance['mark'](name);
- }
-
- function performanceMeasure(name, label) {
- performance && performance['measure'] && performance['measure'](name, label);
- }
-
- mark('Zone');
- var checkDuplicate = global['__zone_symbol__forceDuplicateZoneCheck'] === true;
-
- if (global['Zone']) {
- // if global['Zone'] already exists (maybe zone.js was already loaded or
- // some other lib also registered a global object named Zone), we may need
- // to throw an error, but sometimes user may not want this error.
- // For example,
- // we have two web pages, page1 includes zone.js, page2 doesn't.
- // and the 1st time user load page1 and page2, everything work fine,
- // but when user load page2 again, error occurs because global['Zone'] already exists.
- // so we add a flag to let user choose whether to throw this error or not.
- // By default, if existing Zone is from zone.js, we will not throw the error.
- if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {
- throw new Error('Zone already loaded.');
- } else {
- return global['Zone'];
- }
- }
-
- var Zone =
- /*#__PURE__*/
- function () {
- function Zone(parent, zoneSpec) {
- _classCallCheck(this, Zone);
-
- this._parent = parent;
- this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';
- this._properties = zoneSpec && zoneSpec.properties || {};
- this._zoneDelegate = new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);
- }
-
- _createClass(Zone, [{
- key: "get",
- value: function get(key) {
- var zone = this.getZoneWith(key);
- if (zone) return zone._properties[key];
- }
- }, {
- key: "getZoneWith",
- value: function getZoneWith(key) {
- var current = this;
-
- while (current) {
- if (current._properties.hasOwnProperty(key)) {
- return current;
- }
-
- current = current._parent;
- }
-
- return null;
- }
- }, {
- key: "fork",
- value: function fork(zoneSpec) {
- if (!zoneSpec) throw new Error('ZoneSpec required!');
- return this._zoneDelegate.fork(this, zoneSpec);
- }
- }, {
- key: "wrap",
- value: function wrap(callback, source) {
- if (typeof callback !== 'function') {
- throw new Error('Expecting function got: ' + callback);
- }
-
- var _callback = this._zoneDelegate.intercept(this, callback, source);
-
- var zone = this;
- return function () {
- return zone.runGuarded(_callback, this, arguments, source);
- };
- }
- }, {
- key: "run",
- value: function run(callback, applyThis, applyArgs, source) {
- _currentZoneFrame = {
- parent: _currentZoneFrame,
- zone: this
- };
-
- try {
- return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);
- } finally {
- _currentZoneFrame = _currentZoneFrame.parent;
- }
- }
- }, {
- key: "runGuarded",
- value: function runGuarded(callback) {
- var applyThis = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
- var applyArgs = arguments.length > 2 ? arguments[2] : undefined;
- var source = arguments.length > 3 ? arguments[3] : undefined;
- _currentZoneFrame = {
- parent: _currentZoneFrame,
- zone: this
- };
-
- try {
- try {
- return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);
- } catch (error) {
- if (this._zoneDelegate.handleError(this, error)) {
- throw error;
- }
- }
- } finally {
- _currentZoneFrame = _currentZoneFrame.parent;
- }
- }
- }, {
- key: "runTask",
- value: function runTask(task, applyThis, applyArgs) {
- if (task.zone != this) {
- throw new Error('A task can only be run in the zone of creation! (Creation: ' + (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');
- } // https://github.com/angular/zone.js/issues/778, sometimes eventTask
- // will run in notScheduled(canceled) state, we should not try to
- // run such kind of task but just return
-
-
- if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {
- return;
- }
-
- var reEntryGuard = task.state != running;
- reEntryGuard && task._transitionTo(running, scheduled);
- task.runCount++;
- var previousTask = _currentTask;
- _currentTask = task;
- _currentZoneFrame = {
- parent: _currentZoneFrame,
- zone: this
- };
-
- try {
- if (task.type == macroTask && task.data && !task.data.isPeriodic) {
- task.cancelFn = undefined;
- }
-
- try {
- return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);
- } catch (error) {
- if (this._zoneDelegate.handleError(this, error)) {
- throw error;
- }
- }
- } finally {
- // if the task's state is notScheduled or unknown, then it has already been cancelled
- // we should not reset the state to scheduled
- if (task.state !== notScheduled && task.state !== unknown) {
- if (task.type == eventTask || task.data && task.data.isPeriodic) {
- reEntryGuard && task._transitionTo(scheduled, running);
- } else {
- task.runCount = 0;
-
- this._updateTaskCount(task, -1);
-
- reEntryGuard && task._transitionTo(notScheduled, running, notScheduled);
- }
- }
-
- _currentZoneFrame = _currentZoneFrame.parent;
- _currentTask = previousTask;
- }
- }
- }, {
- key: "scheduleTask",
- value: function scheduleTask(task) {
- if (task.zone && task.zone !== this) {
- // check if the task was rescheduled, the newZone
- // should not be the children of the original zone
- var newZone = this;
-
- while (newZone) {
- if (newZone === task.zone) {
- throw Error("can not reschedule task to ".concat(this.name, " which is descendants of the original zone ").concat(task.zone.name));
- }
-
- newZone = newZone.parent;
- }
- }
-
- task._transitionTo(scheduling, notScheduled);
-
- var zoneDelegates = [];
- task._zoneDelegates = zoneDelegates;
- task._zone = this;
-
- try {
- task = this._zoneDelegate.scheduleTask(this, task);
- } catch (err) {
- // should set task's state to unknown when scheduleTask throw error
- // because the err may from reschedule, so the fromState maybe notScheduled
- task._transitionTo(unknown, scheduling, notScheduled); // TODO: @JiaLiPassion, should we check the result from handleError?
-
-
- this._zoneDelegate.handleError(this, err);
-
- throw err;
- }
-
- if (task._zoneDelegates === zoneDelegates) {
- // we have to check because internally the delegate can reschedule the task.
- this._updateTaskCount(task, 1);
- }
-
- if (task.state == scheduling) {
- task._transitionTo(scheduled, scheduling);
- }
-
- return task;
- }
- }, {
- key: "scheduleMicroTask",
- value: function scheduleMicroTask(source, callback, data, customSchedule) {
- return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));
- }
- }, {
- key: "scheduleMacroTask",
- value: function scheduleMacroTask(source, callback, data, customSchedule, customCancel) {
- return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));
- }
- }, {
- key: "scheduleEventTask",
- value: function scheduleEventTask(source, callback, data, customSchedule, customCancel) {
- return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));
- }
- }, {
- key: "cancelTask",
- value: function cancelTask(task) {
- if (task.zone != this) throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' + (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');
-
- task._transitionTo(canceling, scheduled, running);
-
- try {
- this._zoneDelegate.cancelTask(this, task);
- } catch (err) {
- // if error occurs when cancelTask, transit the state to unknown
- task._transitionTo(unknown, canceling);
-
- this._zoneDelegate.handleError(this, err);
-
- throw err;
- }
-
- this._updateTaskCount(task, -1);
-
- task._transitionTo(notScheduled, canceling);
-
- task.runCount = 0;
- return task;
- }
- }, {
- key: "_updateTaskCount",
- value: function _updateTaskCount(task, count) {
- var zoneDelegates = task._zoneDelegates;
-
- if (count == -1) {
- task._zoneDelegates = null;
- }
-
- for (var i = 0; i < zoneDelegates.length; i++) {
- zoneDelegates[i]._updateTaskCount(task.type, count);
- }
- }
- }, {
- key: "parent",
- get: function get() {
- return this._parent;
- }
- }, {
- key: "name",
- get: function get() {
- return this._name;
- }
- }], [{
- key: "assertZonePatched",
- value: function assertZonePatched() {
- if (global['Promise'] !== patches['ZoneAwarePromise']) {
- throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' + 'has been overwritten.\n' + 'Most likely cause is that a Promise polyfill has been loaded ' + 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' + 'If you must load one, do so before loading zone.js.)');
- }
- }
- }, {
- key: "__load_patch",
- value: function __load_patch(name, fn) {
- if (patches.hasOwnProperty(name)) {
- if (checkDuplicate) {
- throw Error('Already loaded patch: ' + name);
- }
- } else if (!global['__Zone_disable_' + name]) {
- var perfName = 'Zone:' + name;
- mark(perfName);
- patches[name] = fn(global, Zone, _api);
- performanceMeasure(perfName, perfName);
- }
- }
- }, {
- key: "root",
- get: function get() {
- var zone = Zone.current;
-
- while (zone.parent) {
- zone = zone.parent;
- }
-
- return zone;
- }
- }, {
- key: "current",
- get: function get() {
- return _currentZoneFrame.zone;
- }
- }, {
- key: "currentTask",
- get: function get() {
- return _currentTask;
- }
- }]);
-
- return Zone;
- }();
-
- Zone.__symbol__ = __symbol__;
- var DELEGATE_ZS = {
- name: '',
- onHasTask: function onHasTask(delegate, _, target, hasTaskState) {
- return delegate.hasTask(target, hasTaskState);
- },
- onScheduleTask: function onScheduleTask(delegate, _, target, task) {
- return delegate.scheduleTask(target, task);
- },
- onInvokeTask: function onInvokeTask(delegate, _, target, task, applyThis, applyArgs) {
- return delegate.invokeTask(target, task, applyThis, applyArgs);
- },
- onCancelTask: function onCancelTask(delegate, _, target, task) {
- return delegate.cancelTask(target, task);
- }
- };
-
- var ZoneDelegate =
- /*#__PURE__*/
- function () {
- function ZoneDelegate(zone, parentDelegate, zoneSpec) {
- _classCallCheck(this, ZoneDelegate);
-
- this._taskCounts = {
- 'microTask': 0,
- 'macroTask': 0,
- 'eventTask': 0
- };
- this.zone = zone;
- this._parentDelegate = parentDelegate;
- this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);
- this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);
- this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate.zone);
- this._interceptZS = zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);
- this._interceptDlgt = zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);
- this._interceptCurrZone = zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate.zone);
- this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);
- this._invokeDlgt = zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);
- this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate.zone);
- this._handleErrorZS = zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);
- this._handleErrorDlgt = zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);
- this._handleErrorCurrZone = zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate.zone);
- this._scheduleTaskZS = zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);
- this._scheduleTaskDlgt = zoneSpec && (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);
- this._scheduleTaskCurrZone = zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate.zone);
- this._invokeTaskZS = zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);
- this._invokeTaskDlgt = zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);
- this._invokeTaskCurrZone = zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate.zone);
- this._cancelTaskZS = zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);
- this._cancelTaskDlgt = zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);
- this._cancelTaskCurrZone = zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate.zone);
- this._hasTaskZS = null;
- this._hasTaskDlgt = null;
- this._hasTaskDlgtOwner = null;
- this._hasTaskCurrZone = null;
- var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;
- var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;
-
- if (zoneSpecHasTask || parentHasTask) {
- // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such
- // a case all task related interceptors must go through this ZD. We can't short circuit it.
- this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;
- this._hasTaskDlgt = parentDelegate;
- this._hasTaskDlgtOwner = this;
- this._hasTaskCurrZone = zone;
-
- if (!zoneSpec.onScheduleTask) {
- this._scheduleTaskZS = DELEGATE_ZS;
- this._scheduleTaskDlgt = parentDelegate;
- this._scheduleTaskCurrZone = this.zone;
- }
-
- if (!zoneSpec.onInvokeTask) {
- this._invokeTaskZS = DELEGATE_ZS;
- this._invokeTaskDlgt = parentDelegate;
- this._invokeTaskCurrZone = this.zone;
- }
-
- if (!zoneSpec.onCancelTask) {
- this._cancelTaskZS = DELEGATE_ZS;
- this._cancelTaskDlgt = parentDelegate;
- this._cancelTaskCurrZone = this.zone;
- }
- }
- }
-
- _createClass(ZoneDelegate, [{
- key: "fork",
- value: function fork(targetZone, zoneSpec) {
- return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) : new Zone(targetZone, zoneSpec);
- }
- }, {
- key: "intercept",
- value: function intercept(targetZone, callback, source) {
- return this._interceptZS ? this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) : callback;
- }
- }, {
- key: "invoke",
- value: function invoke(targetZone, callback, applyThis, applyArgs, source) {
- return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) : callback.apply(applyThis, applyArgs);
- }
- }, {
- key: "handleError",
- value: function handleError(targetZone, error) {
- return this._handleErrorZS ? this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) : true;
- }
- }, {
- key: "scheduleTask",
- value: function scheduleTask(targetZone, task) {
- var returnTask = task;
-
- if (this._scheduleTaskZS) {
- if (this._hasTaskZS) {
- returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);
- }
-
- returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);
- if (!returnTask) returnTask = task;
- } else {
- if (task.scheduleFn) {
- task.scheduleFn(task);
- } else if (task.type == microTask) {
- scheduleMicroTask(task);
- } else {
- throw new Error('Task is missing scheduleFn.');
- }
- }
-
- return returnTask;
- }
- }, {
- key: "invokeTask",
- value: function invokeTask(targetZone, task, applyThis, applyArgs) {
- return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) : task.callback.apply(applyThis, applyArgs);
- }
- }, {
- key: "cancelTask",
- value: function cancelTask(targetZone, task) {
- var value;
-
- if (this._cancelTaskZS) {
- value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);
- } else {
- if (!task.cancelFn) {
- throw Error('Task is not cancelable');
- }
-
- value = task.cancelFn(task);
- }
-
- return value;
- }
- }, {
- key: "hasTask",
- value: function hasTask(targetZone, isEmpty) {
- // hasTask should not throw error so other ZoneDelegate
- // can still trigger hasTask callback
- try {
- this._hasTaskZS && this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);
- } catch (err) {
- this.handleError(targetZone, err);
- }
- }
- }, {
- key: "_updateTaskCount",
- value: function _updateTaskCount(type, count) {
- var counts = this._taskCounts;
- var prev = counts[type];
- var next = counts[type] = prev + count;
-
- if (next < 0) {
- throw new Error('More tasks executed then were scheduled.');
- }
-
- if (prev == 0 || next == 0) {
- var isEmpty = {
- microTask: counts['microTask'] > 0,
- macroTask: counts['macroTask'] > 0,
- eventTask: counts['eventTask'] > 0,
- change: type
- };
- this.hasTask(this.zone, isEmpty);
- }
- }
- }]);
-
- return ZoneDelegate;
- }();
-
- var ZoneTask =
- /*#__PURE__*/
- function () {
- function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {
- _classCallCheck(this, ZoneTask);
-
- this._zone = null;
- this.runCount = 0;
- this._zoneDelegates = null;
- this._state = 'notScheduled';
- this.type = type;
- this.source = source;
- this.data = options;
- this.scheduleFn = scheduleFn;
- this.cancelFn = cancelFn;
- this.callback = callback;
- var self = this; // TODO: @JiaLiPassion options should have interface
-
- if (type === eventTask && options && options.useG) {
- this.invoke = ZoneTask.invokeTask;
- } else {
- this.invoke = function () {
- return ZoneTask.invokeTask.call(global, self, this, arguments);
- };
- }
- }
-
- _createClass(ZoneTask, [{
- key: "cancelScheduleRequest",
- value: function cancelScheduleRequest() {
- this._transitionTo(notScheduled, scheduling);
- }
- }, {
- key: "_transitionTo",
- value: function _transitionTo(toState, fromState1, fromState2) {
- if (this._state === fromState1 || this._state === fromState2) {
- this._state = toState;
-
- if (toState == notScheduled) {
- this._zoneDelegates = null;
- }
- } else {
- throw new Error("".concat(this.type, " '").concat(this.source, "': can not transition to '").concat(toState, "', expecting state '").concat(fromState1, "'").concat(fromState2 ? ' or \'' + fromState2 + '\'' : '', ", was '").concat(this._state, "'."));
- }
- }
- }, {
- key: "toString",
- value: function toString() {
- if (this.data && typeof this.data.handleId !== 'undefined') {
- return this.data.handleId.toString();
- } else {
- return Object.prototype.toString.call(this);
- }
- } // add toJSON method to prevent cyclic error when
- // call JSON.stringify(zoneTask)
-
- }, {
- key: "toJSON",
- value: function toJSON() {
- return {
- type: this.type,
- state: this.state,
- source: this.source,
- zone: this.zone.name,
- runCount: this.runCount
- };
- }
- }, {
- key: "zone",
- get: function get() {
- return this._zone;
- }
- }, {
- key: "state",
- get: function get() {
- return this._state;
- }
- }], [{
- key: "invokeTask",
- value: function invokeTask(task, target, args) {
- if (!task) {
- task = this;
- }
-
- _numberOfNestedTaskFrames++;
-
- try {
- task.runCount++;
- return task.zone.runTask(task, target, args);
- } finally {
- if (_numberOfNestedTaskFrames == 1) {
- drainMicroTaskQueue();
- }
-
- _numberOfNestedTaskFrames--;
- }
- }
- }]);
-
- return ZoneTask;
- }(); //////////////////////////////////////////////////////
- //////////////////////////////////////////////////////
- /// MICROTASK QUEUE
- //////////////////////////////////////////////////////
- //////////////////////////////////////////////////////
-
-
- var symbolSetTimeout = __symbol__('setTimeout');
-
- var symbolPromise = __symbol__('Promise');
-
- var symbolThen = __symbol__('then');
-
- var _microTaskQueue = [];
- var _isDrainingMicrotaskQueue = false;
- var nativeMicroTaskQueuePromise;
-
- function scheduleMicroTask(task) {
- // if we are not running in any task, and there has not been anything scheduled
- // we must bootstrap the initial task creation by manually scheduling the drain
- if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {
- // We are not running in Task, so we need to kickstart the microtask queue.
- if (!nativeMicroTaskQueuePromise) {
- if (global[symbolPromise]) {
- nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);
- }
- }
-
- if (nativeMicroTaskQueuePromise) {
- var nativeThen = nativeMicroTaskQueuePromise[symbolThen];
-
- if (!nativeThen) {
- // native Promise is not patchable, we need to use `then` directly
- // issue 1078
- nativeThen = nativeMicroTaskQueuePromise['then'];
- }
-
- nativeThen.call(nativeMicroTaskQueuePromise, drainMicroTaskQueue);
- } else {
- global[symbolSetTimeout](drainMicroTaskQueue, 0);
- }
- }
-
- task && _microTaskQueue.push(task);
- }
-
- function drainMicroTaskQueue() {
- if (!_isDrainingMicrotaskQueue) {
- _isDrainingMicrotaskQueue = true;
-
- while (_microTaskQueue.length) {
- var queue = _microTaskQueue;
- _microTaskQueue = [];
-
- for (var i = 0; i < queue.length; i++) {
- var task = queue[i];
-
- try {
- task.zone.runTask(task, null, null);
- } catch (error) {
- _api.onUnhandledError(error);
- }
- }
- }
-
- _api.microtaskDrainDone();
-
- _isDrainingMicrotaskQueue = false;
- }
- } //////////////////////////////////////////////////////
- //////////////////////////////////////////////////////
- /// BOOTSTRAP
- //////////////////////////////////////////////////////
- //////////////////////////////////////////////////////
-
-
- var NO_ZONE = {
- name: 'NO ZONE'
- };
- var notScheduled = 'notScheduled',
- scheduling = 'scheduling',
- scheduled = 'scheduled',
- running = 'running',
- canceling = 'canceling',
- unknown = 'unknown';
- var microTask = 'microTask',
- macroTask = 'macroTask',
- eventTask = 'eventTask';
- var patches = {};
- var _api = {
- symbol: __symbol__,
- currentZoneFrame: function currentZoneFrame() {
- return _currentZoneFrame;
- },
- onUnhandledError: noop,
- microtaskDrainDone: noop,
- scheduleMicroTask: scheduleMicroTask,
- showUncaughtError: function showUncaughtError() {
- return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')];
- },
- patchEventTarget: function patchEventTarget() {
- return [];
- },
- patchOnProperties: noop,
- patchMethod: function patchMethod() {
- return noop;
- },
- bindArguments: function bindArguments() {
- return [];
- },
- patchThen: function patchThen() {
- return noop;
- },
- patchMacroTask: function patchMacroTask() {
- return noop;
- },
- setNativePromise: function setNativePromise(NativePromise) {
- // sometimes NativePromise.resolve static function
- // is not ready yet, (such as core-js/es6.promise)
- // so we need to check here.
- if (NativePromise && typeof NativePromise.resolve === 'function') {
- nativeMicroTaskQueuePromise = NativePromise.resolve(0);
- }
- },
- patchEventPrototype: function patchEventPrototype() {
- return noop;
- },
- isIEOrEdge: function isIEOrEdge() {
- return false;
- },
- getGlobalObjects: function getGlobalObjects() {
- return undefined;
- },
- ObjectDefineProperty: function ObjectDefineProperty() {
- return noop;
- },
- ObjectGetOwnPropertyDescriptor: function ObjectGetOwnPropertyDescriptor() {
- return undefined;
- },
- ObjectCreate: function ObjectCreate() {
- return undefined;
- },
- ArraySlice: function ArraySlice() {
- return [];
- },
- patchClass: function patchClass() {
- return noop;
- },
- wrapWithCurrentZone: function wrapWithCurrentZone() {
- return noop;
- },
- filterProperties: function filterProperties() {
- return [];
- },
- attachOriginToPatched: function attachOriginToPatched() {
- return noop;
- },
- _redefineProperty: function _redefineProperty() {
- return noop;
- },
- patchCallbacks: function patchCallbacks() {
- return noop;
- }
- };
- var _currentZoneFrame = {
- parent: null,
- zone: new Zone(null, null)
- };
- var _currentTask = null;
- var _numberOfNestedTaskFrames = 0;
-
- function noop() {}
-
- function __symbol__(name) {
- return '__zone_symbol__' + name;
- }
-
- performanceMeasure('Zone', 'Zone');
- return global['Zone'] = Zone;
- }(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
-
- Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {
- var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
- var ObjectDefineProperty = Object.defineProperty;
-
- function readableObjectToString(obj) {
- if (obj && obj.toString === Object.prototype.toString) {
- var className = obj.constructor && obj.constructor.name;
- return (className ? className : '') + ': ' + JSON.stringify(obj);
- }
-
- return obj ? obj.toString() : Object.prototype.toString.call(obj);
- }
-
- var __symbol__ = api.symbol;
- var _uncaughtPromiseErrors = [];
-
- var symbolPromise = __symbol__('Promise');
-
- var symbolThen = __symbol__('then');
-
- var creationTrace = '__creationTrace__';
-
- api.onUnhandledError = function (e) {
- if (api.showUncaughtError()) {
- var rejection = e && e.rejection;
-
- if (rejection) {
- console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);
- } else {
- console.error(e);
- }
- }
- };
-
- api.microtaskDrainDone = function () {
- while (_uncaughtPromiseErrors.length) {
- var _loop = function _loop() {
- var uncaughtPromiseError = _uncaughtPromiseErrors.shift();
-
- try {
- uncaughtPromiseError.zone.runGuarded(function () {
- throw uncaughtPromiseError;
- });
- } catch (error) {
- handleUnhandledRejection(error);
- }
- };
-
- while (_uncaughtPromiseErrors.length) {
- _loop();
- }
- }
- };
-
- var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');
-
- function handleUnhandledRejection(e) {
- api.onUnhandledError(e);
-
- try {
- var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];
-
- if (handler && typeof handler === 'function') {
- handler.call(this, e);
- }
- } catch (err) {}
- }
-
- function isThenable(value) {
- return value && value.then;
- }
-
- function forwardResolution(value) {
- return value;
- }
-
- function forwardRejection(rejection) {
- return ZoneAwarePromise.reject(rejection);
- }
-
- var symbolState = __symbol__('state');
-
- var symbolValue = __symbol__('value');
-
- var symbolFinally = __symbol__('finally');
-
- var symbolParentPromiseValue = __symbol__('parentPromiseValue');
-
- var symbolParentPromiseState = __symbol__('parentPromiseState');
-
- var source = 'Promise.then';
- var UNRESOLVED = null;
- var RESOLVED = true;
- var REJECTED = false;
- var REJECTED_NO_CATCH = 0;
-
- function makeResolver(promise, state) {
- return function (v) {
- try {
- resolvePromise(promise, state, v);
- } catch (err) {
- resolvePromise(promise, false, err);
- } // Do not return value or you will break the Promise spec.
-
- };
- }
-
- var once = function once() {
- var wasCalled = false;
- return function wrapper(wrappedFunction) {
- return function () {
- if (wasCalled) {
- return;
- }
-
- wasCalled = true;
- wrappedFunction.apply(null, arguments);
- };
- };
- };
-
- var TYPE_ERROR = 'Promise resolved with itself';
-
- var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace'); // Promise Resolution
-
-
- function resolvePromise(promise, state, value) {
- var onceWrapper = once();
-
- if (promise === value) {
- throw new TypeError(TYPE_ERROR);
- }
-
- if (promise[symbolState] === UNRESOLVED) {
- // should only get value.then once based on promise spec.
- var then = null;
-
- try {
- if (typeof value === 'object' || typeof value === 'function') {
- then = value && value.then;
- }
- } catch (err) {
- onceWrapper(function () {
- resolvePromise(promise, false, err);
- })();
- return promise;
- } // if (value instanceof ZoneAwarePromise) {
-
-
- if (state !== REJECTED && value instanceof ZoneAwarePromise && value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) && value[symbolState] !== UNRESOLVED) {
- clearRejectedNoCatch(value);
- resolvePromise(promise, value[symbolState], value[symbolValue]);
- } else if (state !== REJECTED && typeof then === 'function') {
- try {
- then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));
- } catch (err) {
- onceWrapper(function () {
- resolvePromise(promise, false, err);
- })();
- }
- } else {
- promise[symbolState] = state;
- var queue = promise[symbolValue];
- promise[symbolValue] = value;
-
- if (promise[symbolFinally] === symbolFinally) {
- // the promise is generated by Promise.prototype.finally
- if (state === RESOLVED) {
- // the state is resolved, should ignore the value
- // and use parent promise value
- promise[symbolState] = promise[symbolParentPromiseState];
- promise[symbolValue] = promise[symbolParentPromiseValue];
- }
- } // record task information in value when error occurs, so we can
- // do some additional work such as render longStackTrace
-
-
- if (state === REJECTED && value instanceof Error) {
- // check if longStackTraceZone is here
- var trace = Zone.currentTask && Zone.currentTask.data && Zone.currentTask.data[creationTrace];
-
- if (trace) {
- // only keep the long stack trace into error when in longStackTraceZone
- ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, {
- configurable: true,
- enumerable: false,
- writable: true,
- value: trace
- });
- }
- }
-
- for (var i = 0; i < queue.length;) {
- scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);
- }
-
- if (queue.length == 0 && state == REJECTED) {
- promise[symbolState] = REJECTED_NO_CATCH;
-
- try {
- // try to print more readable error log
- throw new Error('Uncaught (in promise): ' + readableObjectToString(value) + (value && value.stack ? '\n' + value.stack : ''));
- } catch (err) {
- var error = err;
- error.rejection = value;
- error.promise = promise;
- error.zone = Zone.current;
- error.task = Zone.currentTask;
-
- _uncaughtPromiseErrors.push(error);
-
- api.scheduleMicroTask(); // to make sure that it is running
- }
- }
- }
- } // Resolving an already resolved promise is a noop.
-
-
- return promise;
- }
-
- var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');
-
- function clearRejectedNoCatch(promise) {
- if (promise[symbolState] === REJECTED_NO_CATCH) {
- // if the promise is rejected no catch status
- // and queue.length > 0, means there is a error handler
- // here to handle the rejected promise, we should trigger
- // windows.rejectionhandled eventHandler or nodejs rejectionHandled
- // eventHandler
- try {
- var handler = Zone[REJECTION_HANDLED_HANDLER];
-
- if (handler && typeof handler === 'function') {
- handler.call(this, {
- rejection: promise[symbolValue],
- promise: promise
- });
- }
- } catch (err) {}
-
- promise[symbolState] = REJECTED;
-
- for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {
- if (promise === _uncaughtPromiseErrors[i].promise) {
- _uncaughtPromiseErrors.splice(i, 1);
- }
- }
- }
- }
-
- function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {
- clearRejectedNoCatch(promise);
- var promiseState = promise[symbolState];
- var delegate = promiseState ? typeof onFulfilled === 'function' ? onFulfilled : forwardResolution : typeof onRejected === 'function' ? onRejected : forwardRejection;
- zone.scheduleMicroTask(source, function () {
- try {
- var parentPromiseValue = promise[symbolValue];
- var isFinallyPromise = chainPromise && symbolFinally === chainPromise[symbolFinally];
-
- if (isFinallyPromise) {
- // if the promise is generated from finally call, keep parent promise's state and value
- chainPromise[symbolParentPromiseValue] = parentPromiseValue;
- chainPromise[symbolParentPromiseState] = promiseState;
- } // should not pass value to finally callback
-
-
- var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ? [] : [parentPromiseValue]);
- resolvePromise(chainPromise, true, value);
- } catch (error) {
- // if error occurs, should always return this error
- resolvePromise(chainPromise, false, error);
- }
- }, chainPromise);
- }
-
- var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';
-
- var ZoneAwarePromise =
- /*#__PURE__*/
- function () {
- function ZoneAwarePromise(executor) {
- _classCallCheck(this, ZoneAwarePromise);
-
- var promise = this;
-
- if (!(promise instanceof ZoneAwarePromise)) {
- throw new Error('Must be an instanceof Promise.');
- }
-
- promise[symbolState] = UNRESOLVED;
- promise[symbolValue] = []; // queue;
-
- try {
- executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));
- } catch (error) {
- resolvePromise(promise, false, error);
- }
- }
-
- _createClass(ZoneAwarePromise, [{
- key: "then",
- value: function then(onFulfilled, onRejected) {
- var chainPromise = new this.constructor(null);
- var zone = Zone.current;
-
- if (this[symbolState] == UNRESOLVED) {
- this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);
- } else {
- scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);
- }
-
- return chainPromise;
- }
- }, {
- key: "catch",
- value: function _catch(onRejected) {
- return this.then(null, onRejected);
- }
- }, {
- key: "finally",
- value: function _finally(onFinally) {
- var chainPromise = new this.constructor(null);
- chainPromise[symbolFinally] = symbolFinally;
- var zone = Zone.current;
-
- if (this[symbolState] == UNRESOLVED) {
- this[symbolValue].push(zone, chainPromise, onFinally, onFinally);
- } else {
- scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);
- }
-
- return chainPromise;
- }
- }, {
- key: Symbol.toStringTag,
- get: function get() {
- return 'Promise';
- }
- }], [{
- key: "toString",
- value: function toString() {
- return ZONE_AWARE_PROMISE_TO_STRING;
- }
- }, {
- key: "resolve",
- value: function resolve(value) {
- return resolvePromise(new this(null), RESOLVED, value);
- }
- }, {
- key: "reject",
- value: function reject(error) {
- return resolvePromise(new this(null), REJECTED, error);
- }
- }, {
- key: "race",
- value: function race(values) {
- var resolve;
- var reject;
- var promise = new this(function (res, rej) {
- resolve = res;
- reject = rej;
- });
-
- function onResolve(value) {
- resolve(value);
- }
-
- function onReject(error) {
- reject(error);
- }
-
- var _iteratorNormalCompletion = true;
- var _didIteratorError = false;
- var _iteratorError = undefined;
-
- try {
- for (var _iterator = values[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
- var value = _step.value;
-
- if (!isThenable(value)) {
- value = this.resolve(value);
- }
-
- value.then(onResolve, onReject);
- }
- } catch (err) {
- _didIteratorError = true;
- _iteratorError = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion && _iterator.return != null) {
- _iterator.return();
- }
- } finally {
- if (_didIteratorError) {
- throw _iteratorError;
- }
- }
- }
-
- return promise;
- }
- }, {
- key: "all",
- value: function all(values) {
- var _this = this;
-
- var resolve;
- var reject;
- var promise = new this(function (res, rej) {
- resolve = res;
- reject = rej;
- }); // Start at 2 to prevent prematurely resolving if .then is called immediately.
-
- var unresolvedCount = 2;
- var valueIndex = 0;
- var resolvedValues = [];
- var _iteratorNormalCompletion2 = true;
- var _didIteratorError2 = false;
- var _iteratorError2 = undefined;
-
- try {
- var _loop2 = function _loop2() {
- var value = _step2.value;
-
- if (!isThenable(value)) {
- value = _this.resolve(value);
- }
-
- var curValueIndex = valueIndex;
- value.then(function (value) {
- resolvedValues[curValueIndex] = value;
- unresolvedCount--;
-
- if (unresolvedCount === 0) {
- resolve(resolvedValues);
- }
- }, reject);
- unresolvedCount++;
- valueIndex++;
- };
-
- for (var _iterator2 = values[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
- _loop2();
- } // Make the unresolvedCount zero-based again.
-
- } catch (err) {
- _didIteratorError2 = true;
- _iteratorError2 = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
- _iterator2.return();
- }
- } finally {
- if (_didIteratorError2) {
- throw _iteratorError2;
- }
- }
- }
-
- unresolvedCount -= 2;
-
- if (unresolvedCount === 0) {
- resolve(resolvedValues);
- }
-
- return promise;
- }
- }]);
-
- return ZoneAwarePromise;
- }(); // Protect against aggressive optimizers dropping seemingly unused properties.
- // E.g. Closure Compiler in advanced mode.
-
-
- ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;
- ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;
- ZoneAwarePromise['race'] = ZoneAwarePromise.race;
- ZoneAwarePromise['all'] = ZoneAwarePromise.all;
- var NativePromise = global[symbolPromise] = global['Promise'];
-
- var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');
-
- var desc = ObjectGetOwnPropertyDescriptor(global, 'Promise');
-
- if (!desc || desc.configurable) {
- desc && delete desc.writable;
- desc && delete desc.value;
-
- if (!desc) {
- desc = {
- configurable: true,
- enumerable: true
- };
- }
-
- desc.get = function () {
- // if we already set ZoneAwarePromise, use patched one
- // otherwise return native one.
- return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];
- };
-
- desc.set = function (NewNativePromise) {
- if (NewNativePromise === ZoneAwarePromise) {
- // if the NewNativePromise is ZoneAwarePromise
- // save to global
- global[ZONE_AWARE_PROMISE] = NewNativePromise;
- } else {
- // if the NewNativePromise is not ZoneAwarePromise
- // for example: after load zone.js, some library just
- // set es6-promise to global, if we set it to global
- // directly, assertZonePatched will fail and angular
- // will not loaded, so we just set the NewNativePromise
- // to global[symbolPromise], so the result is just like
- // we load ES6 Promise before zone.js
- global[symbolPromise] = NewNativePromise;
-
- if (!NewNativePromise.prototype[symbolThen]) {
- patchThen(NewNativePromise);
- }
-
- api.setNativePromise(NewNativePromise);
- }
- };
-
- ObjectDefineProperty(global, 'Promise', desc);
- }
-
- global['Promise'] = ZoneAwarePromise;
-
- var symbolThenPatched = __symbol__('thenPatched');
-
- function patchThen(Ctor) {
- var proto = Ctor.prototype;
- var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');
-
- if (prop && (prop.writable === false || !prop.configurable)) {
- // check Ctor.prototype.then propertyDescriptor is writable or not
- // in meteor env, writable is false, we should ignore such case
- return;
- }
-
- var originalThen = proto.then; // Keep a reference to the original method.
-
- proto[symbolThen] = originalThen;
-
- Ctor.prototype.then = function (onResolve, onReject) {
- var _this2 = this;
-
- var wrapped = new ZoneAwarePromise(function (resolve, reject) {
- originalThen.call(_this2, resolve, reject);
- });
- return wrapped.then(onResolve, onReject);
- };
-
- Ctor[symbolThenPatched] = true;
- }
-
- api.patchThen = patchThen;
-
- function zoneify(fn) {
- return function () {
- var resultPromise = fn.apply(this, arguments);
-
- if (resultPromise instanceof ZoneAwarePromise) {
- return resultPromise;
- }
-
- var ctor = resultPromise.constructor;
-
- if (!ctor[symbolThenPatched]) {
- patchThen(ctor);
- }
-
- return resultPromise;
- };
- }
-
- if (NativePromise) {
- patchThen(NativePromise);
- var fetch = global['fetch'];
-
- if (typeof fetch == 'function') {
- global[api.symbol('fetch')] = fetch;
- global['fetch'] = zoneify(fetch);
- }
- } // This is not part of public API, but it is useful for tests, so we expose it.
-
-
- Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;
- return ZoneAwarePromise;
- });
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
- /**
- * Suppress closure compiler errors about unknown 'Zone' variable
- * @fileoverview
- * @suppress {undefinedVars,globalThis,missingRequire}
- */
- // issue #989, to reduce bundle size, use short name
-
- /** Object.getOwnPropertyDescriptor */
-
-
- var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
- /** Object.defineProperty */
-
- var ObjectDefineProperty = Object.defineProperty;
- /** Object.getPrototypeOf */
-
- var ObjectGetPrototypeOf = Object.getPrototypeOf;
- /** Object.create */
-
- var ObjectCreate = Object.create;
- /** Array.prototype.slice */
-
- var ArraySlice = Array.prototype.slice;
- /** addEventListener string const */
-
- var ADD_EVENT_LISTENER_STR = 'addEventListener';
- /** removeEventListener string const */
-
- var REMOVE_EVENT_LISTENER_STR = 'removeEventListener';
- /** zoneSymbol addEventListener */
-
- var ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);
- /** zoneSymbol removeEventListener */
-
-
- var ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);
- /** true string const */
-
-
- var TRUE_STR = 'true';
- /** false string const */
-
- var FALSE_STR = 'false';
- /** __zone_symbol__ string const */
-
- var ZONE_SYMBOL_PREFIX = '__zone_symbol__';
-
- function wrapWithCurrentZone(callback, source) {
- return Zone.current.wrap(callback, source);
- }
-
- function scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {
- return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);
- }
-
- var zoneSymbol = Zone.__symbol__;
- var isWindowExists = typeof window !== 'undefined';
- var internalWindow = isWindowExists ? window : undefined;
-
- var _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;
-
- var REMOVE_ATTRIBUTE = 'removeAttribute';
- var NULL_ON_PROP_VALUE = [null];
-
- function bindArguments(args, source) {
- for (var i = args.length - 1; i >= 0; i--) {
- if (typeof args[i] === 'function') {
- args[i] = wrapWithCurrentZone(args[i], source + '_' + i);
- }
- }
-
- return args;
- }
-
- function patchPrototype(prototype, fnNames) {
- var source = prototype.constructor['name'];
-
- var _loop3 = function _loop3(i) {
- var name = fnNames[i];
- var delegate = prototype[name];
-
- if (delegate) {
- var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name);
-
- if (!isPropertyWritable(prototypeDesc)) {
- return "continue";
- }
-
- prototype[name] = function (delegate) {
- var patched = function patched() {
- return delegate.apply(this, bindArguments(arguments, source + '.' + name));
- };
-
- attachOriginToPatched(patched, delegate);
- return patched;
- }(delegate);
- }
- };
-
- for (var i = 0; i < fnNames.length; i++) {
- var _ret = _loop3(i);
-
- if (_ret === "continue") continue;
- }
- }
-
- function isPropertyWritable(propertyDesc) {
- if (!propertyDesc) {
- return true;
- }
-
- if (propertyDesc.writable === false) {
- return false;
- }
-
- return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');
- }
-
- var isWebWorker = typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope; // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify
- // this code.
-
- var isNode = !('nw' in _global) && typeof _global.process !== 'undefined' && {}.toString.call(_global.process) === '[object process]';
- var isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']); // we are in electron of nw, so we are both browser and nodejs
- // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify
- // this code.
-
- var isMix = typeof _global.process !== 'undefined' && {}.toString.call(_global.process) === '[object process]' && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);
- var zoneSymbolEventNames = {};
-
- var wrapFn = function wrapFn(event) {
- // https://github.com/angular/zone.js/issues/911, in IE, sometimes
- // event will be undefined, so we need to use window.event
- event = event || _global.event;
-
- if (!event) {
- return;
- }
-
- var eventNameSymbol = zoneSymbolEventNames[event.type];
-
- if (!eventNameSymbol) {
- eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);
- }
-
- var target = this || event.target || _global;
- var listener = target[eventNameSymbol];
- var result;
-
- if (isBrowser && target === internalWindow && event.type === 'error') {
- // window.onerror have different signiture
- // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror
- // and onerror callback will prevent default when callback return true
- var errorEvent = event;
- result = listener && listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);
-
- if (result === true) {
- event.preventDefault();
- }
- } else {
- result = listener && listener.apply(this, arguments);
-
- if (result != undefined && !result) {
- event.preventDefault();
- }
- }
-
- return result;
- };
-
- function patchProperty(obj, prop, prototype) {
- var desc = ObjectGetOwnPropertyDescriptor(obj, prop);
-
- if (!desc && prototype) {
- // when patch window object, use prototype to check prop exist or not
- var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);
-
- if (prototypeDesc) {
- desc = {
- enumerable: true,
- configurable: true
- };
- }
- } // if the descriptor not exists or is not configurable
- // just return
-
-
- if (!desc || !desc.configurable) {
- return;
- }
-
- var onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');
-
- if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {
- return;
- } // A property descriptor cannot have getter/setter and be writable
- // deleting the writable and value properties avoids this error:
- //
- // TypeError: property descriptors must not specify a value or be writable when a
- // getter or setter has been specified
-
-
- delete desc.writable;
- delete desc.value;
- var originalDescGet = desc.get;
- var originalDescSet = desc.set; // substr(2) cuz 'onclick' -> 'click', etc
-
- var eventName = prop.substr(2);
- var eventNameSymbol = zoneSymbolEventNames[eventName];
-
- if (!eventNameSymbol) {
- eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);
- }
-
- desc.set = function (newValue) {
- // in some of windows's onproperty callback, this is undefined
- // so we need to check it
- var target = this;
-
- if (!target && obj === _global) {
- target = _global;
- }
-
- if (!target) {
- return;
- }
-
- var previousValue = target[eventNameSymbol];
-
- if (previousValue) {
- target.removeEventListener(eventName, wrapFn);
- } // issue #978, when onload handler was added before loading zone.js
- // we should remove it with originalDescSet
-
-
- if (originalDescSet) {
- originalDescSet.apply(target, NULL_ON_PROP_VALUE);
- }
-
- if (typeof newValue === 'function') {
- target[eventNameSymbol] = newValue;
- target.addEventListener(eventName, wrapFn, false);
- } else {
- target[eventNameSymbol] = null;
- }
- }; // The getter would return undefined for unassigned properties but the default value of an
- // unassigned property is null
-
-
- desc.get = function () {
- // in some of windows's onproperty callback, this is undefined
- // so we need to check it
- var target = this;
-
- if (!target && obj === _global) {
- target = _global;
- }
-
- if (!target) {
- return null;
- }
-
- var listener = target[eventNameSymbol];
-
- if (listener) {
- return listener;
- } else if (originalDescGet) {
- // result will be null when use inline event attribute,
- // such as OK
- // because the onclick function is internal raw uncompiled handler
- // the onclick will be evaluated when first time event was triggered or
- // the property is accessed, https://github.com/angular/zone.js/issues/525
- // so we should use original native get to retrieve the handler
- var value = originalDescGet && originalDescGet.call(this);
-
- if (value) {
- desc.set.call(this, value);
-
- if (typeof target[REMOVE_ATTRIBUTE] === 'function') {
- target.removeAttribute(prop);
- }
-
- return value;
- }
- }
-
- return null;
- };
-
- ObjectDefineProperty(obj, prop, desc);
- obj[onPropPatchedSymbol] = true;
- }
-
- function patchOnProperties(obj, properties, prototype) {
- if (properties) {
- for (var i = 0; i < properties.length; i++) {
- patchProperty(obj, 'on' + properties[i], prototype);
- }
- } else {
- var onProperties = [];
-
- for (var prop in obj) {
- if (prop.substr(0, 2) == 'on') {
- onProperties.push(prop);
- }
- }
-
- for (var j = 0; j < onProperties.length; j++) {
- patchProperty(obj, onProperties[j], prototype);
- }
- }
- }
-
- var originalInstanceKey = zoneSymbol('originalInstance'); // wrap some native API on `window`
-
- function patchClass(className) {
- var OriginalClass = _global[className];
- if (!OriginalClass) return; // keep original class in global
-
- _global[zoneSymbol(className)] = OriginalClass;
-
- _global[className] = function () {
- var a = bindArguments(arguments, className);
-
- switch (a.length) {
- case 0:
- this[originalInstanceKey] = new OriginalClass();
- break;
-
- case 1:
- this[originalInstanceKey] = new OriginalClass(a[0]);
- break;
-
- case 2:
- this[originalInstanceKey] = new OriginalClass(a[0], a[1]);
- break;
-
- case 3:
- this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);
- break;
-
- case 4:
- this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);
- break;
-
- default:
- throw new Error('Arg list too long.');
- }
- }; // attach original delegate to patched function
-
-
- attachOriginToPatched(_global[className], OriginalClass);
- var instance = new OriginalClass(function () {});
- var prop;
-
- for (prop in instance) {
- // https://bugs.webkit.org/show_bug.cgi?id=44721
- if (className === 'XMLHttpRequest' && prop === 'responseBlob') continue;
-
- (function (prop) {
- if (typeof instance[prop] === 'function') {
- _global[className].prototype[prop] = function () {
- return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);
- };
- } else {
- ObjectDefineProperty(_global[className].prototype, prop, {
- set: function set(fn) {
- if (typeof fn === 'function') {
- this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop); // keep callback in wrapped function so we can
- // use it in Function.prototype.toString to return
- // the native one.
-
- attachOriginToPatched(this[originalInstanceKey][prop], fn);
- } else {
- this[originalInstanceKey][prop] = fn;
- }
- },
- get: function get() {
- return this[originalInstanceKey][prop];
- }
- });
- }
- })(prop);
- }
-
- for (prop in OriginalClass) {
- if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {
- _global[className][prop] = OriginalClass[prop];
- }
- }
- }
-
- function copySymbolProperties(src, dest) {
- if (typeof Object.getOwnPropertySymbols !== 'function') {
- return;
- }
-
- var symbols = Object.getOwnPropertySymbols(src);
- symbols.forEach(function (symbol) {
- var desc = Object.getOwnPropertyDescriptor(src, symbol);
- Object.defineProperty(dest, symbol, {
- get: function get() {
- return src[symbol];
- },
- set: function set(value) {
- if (desc && (!desc.writable || typeof desc.set !== 'function')) {
- // if src[symbol] is not writable or not have a setter, just return
- return;
- }
-
- src[symbol] = value;
- },
- enumerable: desc ? desc.enumerable : true,
- configurable: desc ? desc.configurable : true
- });
- });
- }
-
- var shouldCopySymbolProperties = false;
-
- function patchMethod(target, name, patchFn) {
- var proto = target;
-
- while (proto && !proto.hasOwnProperty(name)) {
- proto = ObjectGetPrototypeOf(proto);
- }
-
- if (!proto && target[name]) {
- // somehow we did not find it, but we can see it. This happens on IE for Window properties.
- proto = target;
- }
-
- var delegateName = zoneSymbol(name);
- var delegate = null;
-
- if (proto && !(delegate = proto[delegateName])) {
- delegate = proto[delegateName] = proto[name]; // check whether proto[name] is writable
- // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob
-
- var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);
-
- if (isPropertyWritable(desc)) {
- var patchDelegate = patchFn(delegate, delegateName, name);
-
- proto[name] = function () {
- return patchDelegate(this, arguments);
- };
-
- attachOriginToPatched(proto[name], delegate);
-
- if (shouldCopySymbolProperties) {
- copySymbolProperties(delegate, proto[name]);
- }
- }
- }
-
- return delegate;
- } // TODO: @JiaLiPassion, support cancel task later if necessary
-
-
- function patchMacroTask(obj, funcName, metaCreator) {
- var setNative = null;
-
- function scheduleTask(task) {
- var data = task.data;
-
- data.args[data.cbIdx] = function () {
- task.invoke.apply(this, arguments);
- };
-
- setNative.apply(data.target, data.args);
- return task;
- }
-
- setNative = patchMethod(obj, funcName, function (delegate) {
- return function (self, args) {
- var meta = metaCreator(self, args);
-
- if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {
- return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);
- } else {
- // cause an error by calling it directly.
- return delegate.apply(self, args);
- }
- };
- });
- }
-
- function attachOriginToPatched(patched, original) {
- patched[zoneSymbol('OriginalDelegate')] = original;
- }
-
- var isDetectedIEOrEdge = false;
- var ieOrEdge = false;
-
- function isIE() {
- try {
- var ua = internalWindow.navigator.userAgent;
-
- if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {
- return true;
- }
- } catch (error) {}
-
- return false;
- }
-
- function isIEOrEdge() {
- if (isDetectedIEOrEdge) {
- return ieOrEdge;
- }
-
- isDetectedIEOrEdge = true;
-
- try {
- var ua = internalWindow.navigator.userAgent;
-
- if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {
- ieOrEdge = true;
- }
- } catch (error) {}
-
- return ieOrEdge;
- }
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
- // override Function.prototype.toString to make zone.js patched function
- // look like native function
-
-
- Zone.__load_patch('toString', function (global) {
- // patch Func.prototype.toString to let them look like native
- var originalFunctionToString = Function.prototype.toString;
- var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');
- var PROMISE_SYMBOL = zoneSymbol('Promise');
- var ERROR_SYMBOL = zoneSymbol('Error');
-
- var newFunctionToString = function toString() {
- if (typeof this === 'function') {
- var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];
-
- if (originalDelegate) {
- if (typeof originalDelegate === 'function') {
- return originalFunctionToString.call(originalDelegate);
- } else {
- return Object.prototype.toString.call(originalDelegate);
- }
- }
-
- if (this === Promise) {
- var nativePromise = global[PROMISE_SYMBOL];
-
- if (nativePromise) {
- return originalFunctionToString.call(nativePromise);
- }
- }
-
- if (this === Error) {
- var nativeError = global[ERROR_SYMBOL];
-
- if (nativeError) {
- return originalFunctionToString.call(nativeError);
- }
- }
- }
-
- return originalFunctionToString.call(this);
- };
-
- newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;
- Function.prototype.toString = newFunctionToString; // patch Object.prototype.toString to let them look like native
-
- var originalObjectToString = Object.prototype.toString;
- var PROMISE_OBJECT_TO_STRING = '[object Promise]';
-
- Object.prototype.toString = function () {
- if (this instanceof Promise) {
- return PROMISE_OBJECT_TO_STRING;
- }
-
- return originalObjectToString.call(this);
- };
- });
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
- /**
- * @fileoverview
- * @suppress {missingRequire}
- */
-
-
- var passiveSupported = false;
-
- if (typeof window !== 'undefined') {
- try {
- var options = Object.defineProperty({}, 'passive', {
- get: function get() {
- passiveSupported = true;
- }
- });
- window.addEventListener('test', options, options);
- window.removeEventListener('test', options, options);
- } catch (err) {
- passiveSupported = false;
- }
- } // an identifier to tell ZoneTask do not create a new invoke closure
-
-
- var OPTIMIZED_ZONE_EVENT_TASK_DATA = {
- useG: true
- };
- var zoneSymbolEventNames$1 = {};
- var globalSources = {};
- var EVENT_NAME_SYMBOL_REGX = /^__zone_symbol__(\w+)(true|false)$/;
- var IMMEDIATE_PROPAGATION_SYMBOL = '__zone_symbol__propagationStopped';
-
- function patchEventTarget(_global, apis, patchOptions) {
- var ADD_EVENT_LISTENER = patchOptions && patchOptions.add || ADD_EVENT_LISTENER_STR;
- var REMOVE_EVENT_LISTENER = patchOptions && patchOptions.rm || REMOVE_EVENT_LISTENER_STR;
- var LISTENERS_EVENT_LISTENER = patchOptions && patchOptions.listeners || 'eventListeners';
- var REMOVE_ALL_LISTENERS_EVENT_LISTENER = patchOptions && patchOptions.rmAll || 'removeAllListeners';
- var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);
- var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';
- var PREPEND_EVENT_LISTENER = 'prependListener';
- var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';
-
- var invokeTask = function invokeTask(task, target, event) {
- // for better performance, check isRemoved which is set
- // by removeEventListener
- if (task.isRemoved) {
- return;
- }
-
- var delegate = task.callback;
-
- if (typeof delegate === 'object' && delegate.handleEvent) {
- // create the bind version of handleEvent when invoke
- task.callback = function (event) {
- return delegate.handleEvent(event);
- };
-
- task.originalDelegate = delegate;
- } // invoke static task.invoke
-
-
- task.invoke(task, target, [event]);
- var options = task.options;
-
- if (options && typeof options === 'object' && options.once) {
- // if options.once is true, after invoke once remove listener here
- // only browser need to do this, nodejs eventEmitter will cal removeListener
- // inside EventEmitter.once
- var _delegate = task.originalDelegate ? task.originalDelegate : task.callback;
-
- target[REMOVE_EVENT_LISTENER].call(target, event.type, _delegate, options);
- }
- }; // global shared zoneAwareCallback to handle all event callback with capture = false
-
-
- var globalZoneAwareCallback = function globalZoneAwareCallback(event) {
- // https://github.com/angular/zone.js/issues/911, in IE, sometimes
- // event will be undefined, so we need to use window.event
- event = event || _global.event;
-
- if (!event) {
- return;
- } // event.target is needed for Samsung TV and SourceBuffer
- // || global is needed https://github.com/angular/zone.js/issues/190
-
-
- var target = this || event.target || _global;
- var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];
-
- if (tasks) {
- // invoke all tasks which attached to current target with given event.type and capture = false
- // for performance concern, if task.length === 1, just invoke
- if (tasks.length === 1) {
- invokeTask(tasks[0], target, event);
- } else {
- // https://github.com/angular/zone.js/issues/836
- // copy the tasks array before invoke, to avoid
- // the callback will remove itself or other listener
- var copyTasks = tasks.slice();
-
- for (var i = 0; i < copyTasks.length; i++) {
- if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {
- break;
- }
-
- invokeTask(copyTasks[i], target, event);
- }
- }
- }
- }; // global shared zoneAwareCallback to handle all event callback with capture = true
-
-
- var globalZoneAwareCaptureCallback = function globalZoneAwareCaptureCallback(event) {
- // https://github.com/angular/zone.js/issues/911, in IE, sometimes
- // event will be undefined, so we need to use window.event
- event = event || _global.event;
-
- if (!event) {
- return;
- } // event.target is needed for Samsung TV and SourceBuffer
- // || global is needed https://github.com/angular/zone.js/issues/190
-
-
- var target = this || event.target || _global;
- var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];
-
- if (tasks) {
- // invoke all tasks which attached to current target with given event.type and capture = false
- // for performance concern, if task.length === 1, just invoke
- if (tasks.length === 1) {
- invokeTask(tasks[0], target, event);
- } else {
- // https://github.com/angular/zone.js/issues/836
- // copy the tasks array before invoke, to avoid
- // the callback will remove itself or other listener
- var copyTasks = tasks.slice();
-
- for (var i = 0; i < copyTasks.length; i++) {
- if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {
- break;
- }
-
- invokeTask(copyTasks[i], target, event);
- }
- }
- }
- };
-
- function patchEventTargetMethods(obj, patchOptions) {
- if (!obj) {
- return false;
- }
-
- var useGlobalCallback = true;
-
- if (patchOptions && patchOptions.useG !== undefined) {
- useGlobalCallback = patchOptions.useG;
- }
-
- var validateHandler = patchOptions && patchOptions.vh;
- var checkDuplicate = true;
-
- if (patchOptions && patchOptions.chkDup !== undefined) {
- checkDuplicate = patchOptions.chkDup;
- }
-
- var returnTarget = false;
-
- if (patchOptions && patchOptions.rt !== undefined) {
- returnTarget = patchOptions.rt;
- }
-
- var proto = obj;
-
- while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {
- proto = ObjectGetPrototypeOf(proto);
- }
-
- if (!proto && obj[ADD_EVENT_LISTENER]) {
- // somehow we did not find it, but we can see it. This happens on IE for Window properties.
- proto = obj;
- }
-
- if (!proto) {
- return false;
- }
-
- if (proto[zoneSymbolAddEventListener]) {
- return false;
- }
-
- var eventNameToString = patchOptions && patchOptions.eventNameToString; // a shared global taskData to pass data for scheduleEventTask
- // so we do not need to create a new object just for pass some data
-
- var taskData = {};
- var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];
- var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] = proto[REMOVE_EVENT_LISTENER];
- var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] = proto[LISTENERS_EVENT_LISTENER];
- var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] = proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];
- var nativePrependEventListener;
-
- if (patchOptions && patchOptions.prepend) {
- nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] = proto[patchOptions.prepend];
- }
-
- function checkIsPassive(task) {
- if (!passiveSupported && typeof taskData.options !== 'boolean' && typeof taskData.options !== 'undefined' && taskData.options !== null) {
- // options is a non-null non-undefined object
- // passive is not supported
- // don't pass options as object
- // just pass capture as a boolean
- task.options = !!taskData.options.capture;
- taskData.options = task.options;
- }
- }
-
- var customScheduleGlobal = function customScheduleGlobal(task) {
- // if there is already a task for the eventName + capture,
- // just return, because we use the shared globalZoneAwareCallback here.
- if (taskData.isExisting) {
- return;
- }
-
- checkIsPassive(task);
- return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);
- };
-
- var customCancelGlobal = function customCancelGlobal(task) {
- // if task is not marked as isRemoved, this call is directly
- // from Zone.prototype.cancelTask, we should remove the task
- // from tasksList of target first
- if (!task.isRemoved) {
- var symbolEventNames = zoneSymbolEventNames$1[task.eventName];
- var symbolEventName;
-
- if (symbolEventNames) {
- symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];
- }
-
- var existingTasks = symbolEventName && task.target[symbolEventName];
-
- if (existingTasks) {
- for (var i = 0; i < existingTasks.length; i++) {
- var existingTask = existingTasks[i];
-
- if (existingTask === task) {
- existingTasks.splice(i, 1); // set isRemoved to data for faster invokeTask check
-
- task.isRemoved = true;
-
- if (existingTasks.length === 0) {
- // all tasks for the eventName + capture have gone,
- // remove globalZoneAwareCallback and remove the task cache from target
- task.allRemoved = true;
- task.target[symbolEventName] = null;
- }
-
- break;
- }
- }
- }
- } // if all tasks for the eventName + capture have gone,
- // we will really remove the global event callback,
- // if not, return
-
-
- if (!task.allRemoved) {
- return;
- }
-
- return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);
- };
-
- var customScheduleNonGlobal = function customScheduleNonGlobal(task) {
- checkIsPassive(task);
- return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);
- };
-
- var customSchedulePrepend = function customSchedulePrepend(task) {
- return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);
- };
-
- var customCancelNonGlobal = function customCancelNonGlobal(task) {
- return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);
- };
-
- var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;
- var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;
-
- var compareTaskCallbackVsDelegate = function compareTaskCallbackVsDelegate(task, delegate) {
- var typeOfDelegate = typeof delegate;
- return typeOfDelegate === 'function' && task.callback === delegate || typeOfDelegate === 'object' && task.originalDelegate === delegate;
- };
-
- var compare = patchOptions && patchOptions.diff ? patchOptions.diff : compareTaskCallbackVsDelegate;
-
- var blackListedEvents = Zone[Zone.__symbol__('BLACK_LISTED_EVENTS')];
-
- var makeAddListener = function makeAddListener(nativeListener, addSource, customScheduleFn, customCancelFn) {
- var returnTarget = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
- var prepend = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
- return function () {
- var target = this || _global;
- var eventName = arguments[0];
- var delegate = arguments[1];
-
- if (!delegate) {
- return nativeListener.apply(this, arguments);
- }
-
- if (isNode && eventName === 'uncaughtException') {
- // don't patch uncaughtException of nodejs to prevent endless loop
- return nativeListener.apply(this, arguments);
- } // don't create the bind delegate function for handleEvent
- // case here to improve addEventListener performance
- // we will create the bind delegate when invoke
-
-
- var isHandleEvent = false;
-
- if (typeof delegate !== 'function') {
- if (!delegate.handleEvent) {
- return nativeListener.apply(this, arguments);
- }
-
- isHandleEvent = true;
- }
-
- if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {
- return;
- }
-
- var options = arguments[2];
-
- if (blackListedEvents) {
- // check black list
- for (var i = 0; i < blackListedEvents.length; i++) {
- if (eventName === blackListedEvents[i]) {
- return nativeListener.apply(this, arguments);
- }
- }
- }
-
- var capture;
- var once = false;
-
- if (options === undefined) {
- capture = false;
- } else if (options === true) {
- capture = true;
- } else if (options === false) {
- capture = false;
- } else {
- capture = options ? !!options.capture : false;
- once = options ? !!options.once : false;
- }
-
- var zone = Zone.current;
- var symbolEventNames = zoneSymbolEventNames$1[eventName];
- var symbolEventName;
-
- if (!symbolEventNames) {
- // the code is duplicate, but I just want to get some better performance
- var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;
- var trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;
- var symbol = ZONE_SYMBOL_PREFIX + falseEventName;
- var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;
- zoneSymbolEventNames$1[eventName] = {};
- zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;
- zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;
- symbolEventName = capture ? symbolCapture : symbol;
- } else {
- symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];
- }
-
- var existingTasks = target[symbolEventName];
- var isExisting = false;
-
- if (existingTasks) {
- // already have task registered
- isExisting = true;
-
- if (checkDuplicate) {
- for (var _i = 0; _i < existingTasks.length; _i++) {
- if (compare(existingTasks[_i], delegate)) {
- // same callback, same capture, same event name, just return
- return;
- }
- }
- }
- } else {
- existingTasks = target[symbolEventName] = [];
- }
-
- var source;
- var constructorName = target.constructor['name'];
- var targetSource = globalSources[constructorName];
-
- if (targetSource) {
- source = targetSource[eventName];
- }
-
- if (!source) {
- source = constructorName + addSource + (eventNameToString ? eventNameToString(eventName) : eventName);
- } // do not create a new object as task.data to pass those things
- // just use the global shared one
-
-
- taskData.options = options;
-
- if (once) {
- // if addEventListener with once options, we don't pass it to
- // native addEventListener, instead we keep the once setting
- // and handle ourselves.
- taskData.options.once = false;
- }
-
- taskData.target = target;
- taskData.capture = capture;
- taskData.eventName = eventName;
- taskData.isExisting = isExisting;
- var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined; // keep taskData into data to allow onScheduleEventTask to access the task information
-
- if (data) {
- data.taskData = taskData;
- }
-
- var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn); // should clear taskData.target to avoid memory leak
- // issue, https://github.com/angular/angular/issues/20442
-
- taskData.target = null; // need to clear up taskData because it is a global object
-
- if (data) {
- data.taskData = null;
- } // have to save those information to task in case
- // application may call task.zone.cancelTask() directly
-
-
- if (once) {
- options.once = true;
- }
-
- if (!(!passiveSupported && typeof task.options === 'boolean')) {
- // if not support passive, and we pass an option object
- // to addEventListener, we should save the options to task
- task.options = options;
- }
-
- task.target = target;
- task.capture = capture;
- task.eventName = eventName;
-
- if (isHandleEvent) {
- // save original delegate for compare to check duplicate
- task.originalDelegate = delegate;
- }
-
- if (!prepend) {
- existingTasks.push(task);
- } else {
- existingTasks.unshift(task);
- }
-
- if (returnTarget) {
- return target;
- }
- };
- };
-
- proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);
-
- if (nativePrependEventListener) {
- proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);
- }
-
- proto[REMOVE_EVENT_LISTENER] = function () {
- var target = this || _global;
- var eventName = arguments[0];
- var options = arguments[2];
- var capture;
-
- if (options === undefined) {
- capture = false;
- } else if (options === true) {
- capture = true;
- } else if (options === false) {
- capture = false;
- } else {
- capture = options ? !!options.capture : false;
- }
-
- var delegate = arguments[1];
-
- if (!delegate) {
- return nativeRemoveEventListener.apply(this, arguments);
- }
-
- if (validateHandler && !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {
- return;
- }
-
- var symbolEventNames = zoneSymbolEventNames$1[eventName];
- var symbolEventName;
-
- if (symbolEventNames) {
- symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];
- }
-
- var existingTasks = symbolEventName && target[symbolEventName];
-
- if (existingTasks) {
- for (var i = 0; i < existingTasks.length; i++) {
- var existingTask = existingTasks[i];
-
- if (compare(existingTask, delegate)) {
- existingTasks.splice(i, 1); // set isRemoved to data for faster invokeTask check
-
- existingTask.isRemoved = true;
-
- if (existingTasks.length === 0) {
- // all tasks for the eventName + capture have gone,
- // remove globalZoneAwareCallback and remove the task cache from target
- existingTask.allRemoved = true;
- target[symbolEventName] = null;
- }
-
- existingTask.zone.cancelTask(existingTask);
-
- if (returnTarget) {
- return target;
- }
-
- return;
- }
- }
- } // issue 930, didn't find the event name or callback
- // from zone kept existingTasks, the callback maybe
- // added outside of zone, we need to call native removeEventListener
- // to try to remove it.
-
-
- return nativeRemoveEventListener.apply(this, arguments);
- };
-
- proto[LISTENERS_EVENT_LISTENER] = function () {
- var target = this || _global;
- var eventName = arguments[0];
- var listeners = [];
- var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);
-
- for (var i = 0; i < tasks.length; i++) {
- var task = tasks[i];
- var delegate = task.originalDelegate ? task.originalDelegate : task.callback;
- listeners.push(delegate);
- }
-
- return listeners;
- };
-
- proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {
- var target = this || _global;
- var eventName = arguments[0];
-
- if (!eventName) {
- var keys = Object.keys(target);
-
- for (var i = 0; i < keys.length; i++) {
- var prop = keys[i];
- var match = EVENT_NAME_SYMBOL_REGX.exec(prop);
- var evtName = match && match[1]; // in nodejs EventEmitter, removeListener event is
- // used for monitoring the removeListener call,
- // so just keep removeListener eventListener until
- // all other eventListeners are removed
-
- if (evtName && evtName !== 'removeListener') {
- this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);
- }
- } // remove removeListener listener finally
-
-
- this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');
- } else {
- var symbolEventNames = zoneSymbolEventNames$1[eventName];
-
- if (symbolEventNames) {
- var symbolEventName = symbolEventNames[FALSE_STR];
- var symbolCaptureEventName = symbolEventNames[TRUE_STR];
- var tasks = target[symbolEventName];
- var captureTasks = target[symbolCaptureEventName];
-
- if (tasks) {
- var removeTasks = tasks.slice();
-
- for (var _i2 = 0; _i2 < removeTasks.length; _i2++) {
- var task = removeTasks[_i2];
- var delegate = task.originalDelegate ? task.originalDelegate : task.callback;
- this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);
- }
- }
-
- if (captureTasks) {
- var _removeTasks = captureTasks.slice();
-
- for (var _i3 = 0; _i3 < _removeTasks.length; _i3++) {
- var _task = _removeTasks[_i3];
-
- var _delegate2 = _task.originalDelegate ? _task.originalDelegate : _task.callback;
-
- this[REMOVE_EVENT_LISTENER].call(this, eventName, _delegate2, _task.options);
- }
- }
- }
- }
-
- if (returnTarget) {
- return this;
- }
- }; // for native toString patch
-
-
- attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);
- attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);
-
- if (nativeRemoveAllListeners) {
- attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);
- }
-
- if (nativeListeners) {
- attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);
- }
-
- return true;
- }
-
- var results = [];
-
- for (var i = 0; i < apis.length; i++) {
- results[i] = patchEventTargetMethods(apis[i], patchOptions);
- }
-
- return results;
- }
-
- function findEventTasks(target, eventName) {
- var foundTasks = [];
-
- for (var prop in target) {
- var match = EVENT_NAME_SYMBOL_REGX.exec(prop);
- var evtName = match && match[1];
-
- if (evtName && (!eventName || evtName === eventName)) {
- var tasks = target[prop];
-
- if (tasks) {
- for (var i = 0; i < tasks.length; i++) {
- foundTasks.push(tasks[i]);
- }
- }
- }
- }
-
- return foundTasks;
- }
-
- function patchEventPrototype(global, api) {
- var Event = global['Event'];
-
- if (Event && Event.prototype) {
- api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) {
- return function (self, args) {
- self[IMMEDIATE_PROPAGATION_SYMBOL] = true; // we need to call the native stopImmediatePropagation
- // in case in some hybrid application, some part of
- // application will be controlled by zone, some are not
-
- delegate && delegate.apply(self, args);
- };
- });
- }
- }
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
-
- function patchCallbacks(api, target, targetName, method, callbacks) {
- var symbol = Zone.__symbol__(method);
-
- if (target[symbol]) {
- return;
- }
-
- var nativeDelegate = target[symbol] = target[method];
-
- target[method] = function (name, opts, options) {
- if (opts && opts.prototype) {
- callbacks.forEach(function (callback) {
- var source = "".concat(targetName, ".").concat(method, "::") + callback;
- var prototype = opts.prototype;
-
- if (prototype.hasOwnProperty(callback)) {
- var descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);
-
- if (descriptor && descriptor.value) {
- descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);
-
- api._redefineProperty(opts.prototype, callback, descriptor);
- } else if (prototype[callback]) {
- prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);
- }
- } else if (prototype[callback]) {
- prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);
- }
- });
- }
-
- return nativeDelegate.call(target, name, opts, options);
- };
-
- api.attachOriginToPatched(target[method], nativeDelegate);
- }
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
- /*
- * This is necessary for Chrome and Chrome mobile, to enable
- * things like redefining `createdCallback` on an element.
- */
-
-
- var zoneSymbol$1 = Zone.__symbol__;
-
- var _defineProperty = Object[zoneSymbol$1('defineProperty')] = Object.defineProperty;
-
- var _getOwnPropertyDescriptor = Object[zoneSymbol$1('getOwnPropertyDescriptor')] = Object.getOwnPropertyDescriptor;
-
- var _create = Object.create;
- var unconfigurablesKey = zoneSymbol$1('unconfigurables');
-
- function propertyPatch() {
- Object.defineProperty = function (obj, prop, desc) {
- if (isUnconfigurable(obj, prop)) {
- throw new TypeError('Cannot assign to read only property \'' + prop + '\' of ' + obj);
- }
-
- var originalConfigurableFlag = desc.configurable;
-
- if (prop !== 'prototype') {
- desc = rewriteDescriptor(obj, prop, desc);
- }
-
- return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);
- };
-
- Object.defineProperties = function (obj, props) {
- Object.keys(props).forEach(function (prop) {
- Object.defineProperty(obj, prop, props[prop]);
- });
- return obj;
- };
-
- Object.create = function (obj, proto) {
- if (typeof proto === 'object' && !Object.isFrozen(proto)) {
- Object.keys(proto).forEach(function (prop) {
- proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);
- });
- }
-
- return _create(obj, proto);
- };
-
- Object.getOwnPropertyDescriptor = function (obj, prop) {
- var desc = _getOwnPropertyDescriptor(obj, prop);
-
- if (desc && isUnconfigurable(obj, prop)) {
- desc.configurable = false;
- }
-
- return desc;
- };
- }
-
- function _redefineProperty(obj, prop, desc) {
- var originalConfigurableFlag = desc.configurable;
- desc = rewriteDescriptor(obj, prop, desc);
- return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);
- }
-
- function isUnconfigurable(obj, prop) {
- return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];
- }
-
- function rewriteDescriptor(obj, prop, desc) {
- // issue-927, if the desc is frozen, don't try to change the desc
- if (!Object.isFrozen(desc)) {
- desc.configurable = true;
- }
-
- if (!desc.configurable) {
- // issue-927, if the obj is frozen, don't try to set the desc to obj
- if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {
- _defineProperty(obj, unconfigurablesKey, {
- writable: true,
- value: {}
- });
- }
-
- if (obj[unconfigurablesKey]) {
- obj[unconfigurablesKey][prop] = true;
- }
- }
-
- return desc;
- }
-
- function _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {
- try {
- return _defineProperty(obj, prop, desc);
- } catch (error) {
- if (desc.configurable) {
- // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's
- // retry with the original flag value
- if (typeof originalConfigurableFlag == 'undefined') {
- delete desc.configurable;
- } else {
- desc.configurable = originalConfigurableFlag;
- }
-
- try {
- return _defineProperty(obj, prop, desc);
- } catch (error) {
- var descJson = null;
-
- try {
- descJson = JSON.stringify(desc);
- } catch (error) {
- descJson = desc.toString();
- }
-
- console.log("Attempting to configure '".concat(prop, "' with descriptor '").concat(descJson, "' on object '").concat(obj, "' and got error, giving up: ").concat(error));
- }
- } else {
- throw error;
- }
- }
- }
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
- /**
- * @fileoverview
- * @suppress {globalThis}
- */
-
-
- var globalEventHandlersEventNames = ['abort', 'animationcancel', 'animationend', 'animationiteration', 'auxclick', 'beforeinput', 'blur', 'cancel', 'canplay', 'canplaythrough', 'change', 'compositionstart', 'compositionupdate', 'compositionend', 'cuechange', 'click', 'close', 'contextmenu', 'curechange', 'dblclick', 'drag', 'dragend', 'dragenter', 'dragexit', 'dragleave', 'dragover', 'drop', 'durationchange', 'emptied', 'ended', 'error', 'focus', 'focusin', 'focusout', 'gotpointercapture', 'input', 'invalid', 'keydown', 'keypress', 'keyup', 'load', 'loadstart', 'loadeddata', 'loadedmetadata', 'lostpointercapture', 'mousedown', 'mouseenter', 'mouseleave', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'mousewheel', 'orientationchange', 'pause', 'play', 'playing', 'pointercancel', 'pointerdown', 'pointerenter', 'pointerleave', 'pointerlockchange', 'mozpointerlockchange', 'webkitpointerlockerchange', 'pointerlockerror', 'mozpointerlockerror', 'webkitpointerlockerror', 'pointermove', 'pointout', 'pointerover', 'pointerup', 'progress', 'ratechange', 'reset', 'resize', 'scroll', 'seeked', 'seeking', 'select', 'selectionchange', 'selectstart', 'show', 'sort', 'stalled', 'submit', 'suspend', 'timeupdate', 'volumechange', 'touchcancel', 'touchmove', 'touchstart', 'touchend', 'transitioncancel', 'transitionend', 'waiting', 'wheel'];
- var documentEventNames = ['afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange', 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror', 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange', 'visibilitychange', 'resume'];
- var windowEventNames = ['absolutedeviceorientation', 'afterinput', 'afterprint', 'appinstalled', 'beforeinstallprompt', 'beforeprint', 'beforeunload', 'devicelight', 'devicemotion', 'deviceorientation', 'deviceorientationabsolute', 'deviceproximity', 'hashchange', 'languagechange', 'message', 'mozbeforepaint', 'offline', 'online', 'paint', 'pageshow', 'pagehide', 'popstate', 'rejectionhandled', 'storage', 'unhandledrejection', 'unload', 'userproximity', 'vrdisplyconnected', 'vrdisplaydisconnected', 'vrdisplaypresentchange'];
- var htmlElementEventNames = ['beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend', 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend', 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'];
- var mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];
- var ieElementEventNames = ['activate', 'afterupdate', 'ariarequest', 'beforeactivate', 'beforedeactivate', 'beforeeditfocus', 'beforeupdate', 'cellchange', 'controlselect', 'dataavailable', 'datasetchanged', 'datasetcomplete', 'errorupdate', 'filterchange', 'layoutcomplete', 'losecapture', 'move', 'moveend', 'movestart', 'propertychange', 'resizeend', 'resizestart', 'rowenter', 'rowexit', 'rowsdelete', 'rowsinserted', 'command', 'compassneedscalibration', 'deactivate', 'help', 'mscontentzoom', 'msmanipulationstatechanged', 'msgesturechange', 'msgesturedoubletap', 'msgestureend', 'msgesturehold', 'msgesturestart', 'msgesturetap', 'msgotpointercapture', 'msinertiastart', 'mslostpointercapture', 'mspointercancel', 'mspointerdown', 'mspointerenter', 'mspointerhover', 'mspointerleave', 'mspointermove', 'mspointerout', 'mspointerover', 'mspointerup', 'pointerout', 'mssitemodejumplistitemremoved', 'msthumbnailclick', 'stop', 'storagecommit'];
- var webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];
- var formEventNames = ['autocomplete', 'autocompleteerror'];
- var detailEventNames = ['toggle'];
- var frameEventNames = ['load'];
- var frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];
- var marqueeEventNames = ['bounce', 'finish', 'start'];
- var XMLHttpRequestEventNames = ['loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend', 'readystatechange'];
- var IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];
- var websocketEventNames = ['close', 'error', 'open', 'message'];
- var workerEventNames = ['error', 'message'];
- var eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);
-
- function filterProperties(target, onProperties, ignoreProperties) {
- if (!ignoreProperties || ignoreProperties.length === 0) {
- return onProperties;
- }
-
- var tip = ignoreProperties.filter(function (ip) {
- return ip.target === target;
- });
-
- if (!tip || tip.length === 0) {
- return onProperties;
- }
-
- var targetIgnoreProperties = tip[0].ignoreProperties;
- return onProperties.filter(function (op) {
- return targetIgnoreProperties.indexOf(op) === -1;
- });
- }
-
- function patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {
- // check whether target is available, sometimes target will be undefined
- // because different browser or some 3rd party plugin.
- if (!target) {
- return;
- }
-
- var filteredProperties = filterProperties(target, onProperties, ignoreProperties);
- patchOnProperties(target, filteredProperties, prototype);
- }
-
- function propertyDescriptorPatch(api, _global) {
- if (isNode && !isMix) {
- return;
- }
-
- if (Zone[api.symbol('patchEvents')]) {
- // events are already been patched by legacy patch.
- return;
- }
-
- var supportsWebSocket = typeof WebSocket !== 'undefined';
- var ignoreProperties = _global['__Zone_ignore_on_properties']; // for browsers that we can patch the descriptor: Chrome & Firefox
-
- if (isBrowser) {
- var _internalWindow = window;
- var ignoreErrorProperties = isIE ? [{
- target: _internalWindow,
- ignoreProperties: ['error']
- }] : []; // in IE/Edge, onProp not exist in window object, but in WindowPrototype
- // so we need to pass WindowPrototype to check onProp exist or not
-
- patchFilteredProperties(_internalWindow, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(_internalWindow));
- patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);
-
- if (typeof _internalWindow['SVGElement'] !== 'undefined') {
- patchFilteredProperties(_internalWindow['SVGElement'].prototype, eventNames, ignoreProperties);
- }
-
- patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);
- patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);
- patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);
- patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);
- patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);
- patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);
- patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);
- var HTMLMarqueeElement = _internalWindow['HTMLMarqueeElement'];
-
- if (HTMLMarqueeElement) {
- patchFilteredProperties(HTMLMarqueeElement.prototype, marqueeEventNames, ignoreProperties);
- }
-
- var Worker = _internalWindow['Worker'];
-
- if (Worker) {
- patchFilteredProperties(Worker.prototype, workerEventNames, ignoreProperties);
- }
- }
-
- var XMLHttpRequest = _global['XMLHttpRequest'];
-
- if (XMLHttpRequest) {
- // XMLHttpRequest is not available in ServiceWorker, so we need to check here
- patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);
- }
-
- var XMLHttpRequestEventTarget = _global['XMLHttpRequestEventTarget'];
-
- if (XMLHttpRequestEventTarget) {
- patchFilteredProperties(XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype, XMLHttpRequestEventNames, ignoreProperties);
- }
-
- if (typeof IDBIndex !== 'undefined') {
- patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);
- patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);
- patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);
- patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);
- patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);
- patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);
- }
-
- if (supportsWebSocket) {
- patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);
- }
- }
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
-
- Zone.__load_patch('util', function (global, Zone, api) {
- api.patchOnProperties = patchOnProperties;
- api.patchMethod = patchMethod;
- api.bindArguments = bindArguments;
- api.patchMacroTask = patchMacroTask; // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to
- // define which events will not be patched by `Zone.js`.
- // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep
- // the name consistent with angular repo.
- // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for
- // backwards compatibility.
-
- var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');
-
- var SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');
-
- if (global[SYMBOL_UNPATCHED_EVENTS]) {
- global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];
- }
-
- if (global[SYMBOL_BLACK_LISTED_EVENTS]) {
- Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] = global[SYMBOL_BLACK_LISTED_EVENTS];
- }
-
- api.patchEventPrototype = patchEventPrototype;
- api.patchEventTarget = patchEventTarget;
- api.isIEOrEdge = isIEOrEdge;
- api.ObjectDefineProperty = ObjectDefineProperty;
- api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;
- api.ObjectCreate = ObjectCreate;
- api.ArraySlice = ArraySlice;
- api.patchClass = patchClass;
- api.wrapWithCurrentZone = wrapWithCurrentZone;
- api.filterProperties = filterProperties;
- api.attachOriginToPatched = attachOriginToPatched;
- api._redefineProperty = _redefineProperty;
- api.patchCallbacks = patchCallbacks;
-
- api.getGlobalObjects = function () {
- return {
- globalSources: globalSources,
- zoneSymbolEventNames: zoneSymbolEventNames$1,
- eventNames: eventNames,
- isBrowser: isBrowser,
- isMix: isMix,
- isNode: isNode,
- TRUE_STR: TRUE_STR,
- FALSE_STR: FALSE_STR,
- ZONE_SYMBOL_PREFIX: ZONE_SYMBOL_PREFIX,
- ADD_EVENT_LISTENER_STR: ADD_EVENT_LISTENER_STR,
- REMOVE_EVENT_LISTENER_STR: REMOVE_EVENT_LISTENER_STR
- };
- };
- });
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
- /**
- * @fileoverview
- * @suppress {missingRequire}
- */
-
-
- var taskSymbol = zoneSymbol('zoneTask');
-
- function patchTimer(window, setName, cancelName, nameSuffix) {
- var setNative = null;
- var clearNative = null;
- setName += nameSuffix;
- cancelName += nameSuffix;
- var tasksByHandleId = {};
-
- function scheduleTask(task) {
- var data = task.data;
-
- function timer() {
- try {
- task.invoke.apply(this, arguments);
- } finally {
- // issue-934, task will be cancelled
- // even it is a periodic task such as
- // setInterval
- if (!(task.data && task.data.isPeriodic)) {
- if (typeof data.handleId === 'number') {
- // in non-nodejs env, we remove timerId
- // from local cache
- delete tasksByHandleId[data.handleId];
- } else if (data.handleId) {
- // Node returns complex objects as handleIds
- // we remove task reference from timer object
- data.handleId[taskSymbol] = null;
- }
- }
- }
- }
-
- data.args[0] = timer;
- data.handleId = setNative.apply(window, data.args);
- return task;
- }
-
- function clearTask(task) {
- return clearNative(task.data.handleId);
- }
-
- setNative = patchMethod(window, setName, function (delegate) {
- return function (self, args) {
- if (typeof args[0] === 'function') {
- var _options = {
- isPeriodic: nameSuffix === 'Interval',
- delay: nameSuffix === 'Timeout' || nameSuffix === 'Interval' ? args[1] || 0 : undefined,
- args: args
- };
- var task = scheduleMacroTaskWithCurrentZone(setName, args[0], _options, scheduleTask, clearTask);
-
- if (!task) {
- return task;
- } // Node.js must additionally support the ref and unref functions.
-
-
- var handle = task.data.handleId;
-
- if (typeof handle === 'number') {
- // for non nodejs env, we save handleId: task
- // mapping in local cache for clearTimeout
- tasksByHandleId[handle] = task;
- } else if (handle) {
- // for nodejs env, we save task
- // reference in timerId Object for clearTimeout
- handle[taskSymbol] = task;
- } // check whether handle is null, because some polyfill or browser
- // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame
-
-
- if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' && typeof handle.unref === 'function') {
- task.ref = handle.ref.bind(handle);
- task.unref = handle.unref.bind(handle);
- }
-
- if (typeof handle === 'number' || handle) {
- return handle;
- }
-
- return task;
- } else {
- // cause an error by calling it directly.
- return delegate.apply(window, args);
- }
- };
- });
- clearNative = patchMethod(window, cancelName, function (delegate) {
- return function (self, args) {
- var id = args[0];
- var task;
-
- if (typeof id === 'number') {
- // non nodejs env.
- task = tasksByHandleId[id];
- } else {
- // nodejs env.
- task = id && id[taskSymbol]; // other environments.
-
- if (!task) {
- task = id;
- }
- }
-
- if (task && typeof task.type === 'string') {
- if (task.state !== 'notScheduled' && (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {
- if (typeof id === 'number') {
- delete tasksByHandleId[id];
- } else if (id) {
- id[taskSymbol] = null;
- } // Do not cancel already canceled functions
-
-
- task.zone.cancelTask(task);
- }
- } else {
- // cause an error by calling it directly.
- delegate.apply(window, args);
- }
- };
- });
- }
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
-
- function patchCustomElements(_global, api) {
- var _api$getGlobalObjects = api.getGlobalObjects(),
- isBrowser = _api$getGlobalObjects.isBrowser,
- isMix = _api$getGlobalObjects.isMix;
-
- if (!isBrowser && !isMix || !_global['customElements'] || !('customElements' in _global)) {
- return;
- }
-
- var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];
- api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);
- }
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
-
- function eventTargetPatch(_global, api) {
- if (Zone[api.symbol('patchEventTarget')]) {
- // EventTarget is already patched.
- return;
- }
-
- var _api$getGlobalObjects2 = api.getGlobalObjects(),
- eventNames = _api$getGlobalObjects2.eventNames,
- zoneSymbolEventNames = _api$getGlobalObjects2.zoneSymbolEventNames,
- TRUE_STR = _api$getGlobalObjects2.TRUE_STR,
- FALSE_STR = _api$getGlobalObjects2.FALSE_STR,
- ZONE_SYMBOL_PREFIX = _api$getGlobalObjects2.ZONE_SYMBOL_PREFIX; // predefine all __zone_symbol__ + eventName + true/false string
-
-
- for (var i = 0; i < eventNames.length; i++) {
- var eventName = eventNames[i];
- var falseEventName = eventName + FALSE_STR;
- var trueEventName = eventName + TRUE_STR;
- var symbol = ZONE_SYMBOL_PREFIX + falseEventName;
- var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;
- zoneSymbolEventNames[eventName] = {};
- zoneSymbolEventNames[eventName][FALSE_STR] = symbol;
- zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;
- }
-
- var EVENT_TARGET = _global['EventTarget'];
-
- if (!EVENT_TARGET || !EVENT_TARGET.prototype) {
- return;
- }
-
- api.patchEventTarget(_global, [EVENT_TARGET && EVENT_TARGET.prototype]);
- return true;
- }
-
- function patchEvent(global, api) {
- api.patchEventPrototype(global, api);
- }
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
- /**
- * @fileoverview
- * @suppress {missingRequire}
- */
-
-
- Zone.__load_patch('legacy', function (global) {
- var legacyPatch = global[Zone.__symbol__('legacyPatch')];
-
- if (legacyPatch) {
- legacyPatch();
- }
- });
-
- Zone.__load_patch('timers', function (global) {
- var set = 'set';
- var clear = 'clear';
- patchTimer(global, set, clear, 'Timeout');
- patchTimer(global, set, clear, 'Interval');
- patchTimer(global, set, clear, 'Immediate');
- });
-
- Zone.__load_patch('requestAnimationFrame', function (global) {
- patchTimer(global, 'request', 'cancel', 'AnimationFrame');
- patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');
- patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');
- });
-
- Zone.__load_patch('blocking', function (global, Zone) {
- var blockingMethods = ['alert', 'prompt', 'confirm'];
-
- for (var i = 0; i < blockingMethods.length; i++) {
- var name = blockingMethods[i];
- patchMethod(global, name, function (delegate, symbol, name) {
- return function (s, args) {
- return Zone.current.run(delegate, global, args, name);
- };
- });
- }
- });
-
- Zone.__load_patch('EventTarget', function (global, Zone, api) {
- patchEvent(global, api);
- eventTargetPatch(global, api); // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener
-
- var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];
-
- if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {
- api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);
- }
-
- patchClass('MutationObserver');
- patchClass('WebKitMutationObserver');
- patchClass('IntersectionObserver');
- patchClass('FileReader');
- });
-
- Zone.__load_patch('on_property', function (global, Zone, api) {
- propertyDescriptorPatch(api, global);
- propertyPatch();
- });
-
- Zone.__load_patch('customElements', function (global, Zone, api) {
- patchCustomElements(global, api);
- });
-
- Zone.__load_patch('XHR', function (global, Zone) {
- // Treat XMLHttpRequest as a macrotask.
- patchXHR(global);
- var XHR_TASK = zoneSymbol('xhrTask');
- var XHR_SYNC = zoneSymbol('xhrSync');
- var XHR_LISTENER = zoneSymbol('xhrListener');
- var XHR_SCHEDULED = zoneSymbol('xhrScheduled');
- var XHR_URL = zoneSymbol('xhrURL');
- var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');
-
- function patchXHR(window) {
- var XMLHttpRequest = window['XMLHttpRequest'];
-
- if (!XMLHttpRequest) {
- // XMLHttpRequest is not available in service worker
- return;
- }
-
- var XMLHttpRequestPrototype = XMLHttpRequest.prototype;
-
- function findPendingTask(target) {
- return target[XHR_TASK];
- }
-
- var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];
- var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];
-
- if (!oriAddListener) {
- var XMLHttpRequestEventTarget = window['XMLHttpRequestEventTarget'];
-
- if (XMLHttpRequestEventTarget) {
- var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget.prototype;
- oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];
- oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];
- }
- }
-
- var READY_STATE_CHANGE = 'readystatechange';
- var SCHEDULED = 'scheduled';
-
- function scheduleTask(task) {
- var data = task.data;
- var target = data.target;
- target[XHR_SCHEDULED] = false;
- target[XHR_ERROR_BEFORE_SCHEDULED] = false; // remove existing event listener
-
- var listener = target[XHR_LISTENER];
-
- if (!oriAddListener) {
- oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];
- oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];
- }
-
- if (listener) {
- oriRemoveListener.call(target, READY_STATE_CHANGE, listener);
- }
-
- var newListener = target[XHR_LISTENER] = function () {
- if (target.readyState === target.DONE) {
- // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with
- // readyState=4 multiple times, so we need to check task state here
- if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {
- // check whether the xhr has registered onload listener
- // if that is the case, the task should invoke after all
- // onload listeners finish.
- var loadTasks = target['__zone_symbol__loadfalse'];
-
- if (loadTasks && loadTasks.length > 0) {
- var oriInvoke = task.invoke;
-
- task.invoke = function () {
- // need to load the tasks again, because in other
- // load listener, they may remove themselves
- var loadTasks = target['__zone_symbol__loadfalse'];
-
- for (var i = 0; i < loadTasks.length; i++) {
- if (loadTasks[i] === task) {
- loadTasks.splice(i, 1);
- }
- }
-
- if (!data.aborted && task.state === SCHEDULED) {
- oriInvoke.call(task);
- }
- };
-
- loadTasks.push(task);
- } else {
- task.invoke();
- }
- } else if (!data.aborted && target[XHR_SCHEDULED] === false) {
- // error occurs when xhr.send()
- target[XHR_ERROR_BEFORE_SCHEDULED] = true;
- }
- }
- };
-
- oriAddListener.call(target, READY_STATE_CHANGE, newListener);
- var storedTask = target[XHR_TASK];
-
- if (!storedTask) {
- target[XHR_TASK] = task;
- }
-
- sendNative.apply(target, data.args);
- target[XHR_SCHEDULED] = true;
- return task;
- }
-
- function placeholderCallback() {}
-
- function clearTask(task) {
- var data = task.data; // Note - ideally, we would call data.target.removeEventListener here, but it's too late
- // to prevent it from firing. So instead, we store info for the event listener.
-
- data.aborted = true;
- return abortNative.apply(data.target, data.args);
- }
-
- var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () {
- return function (self, args) {
- self[XHR_SYNC] = args[2] == false;
- self[XHR_URL] = args[1];
- return openNative.apply(self, args);
- };
- });
- var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';
- var fetchTaskAborting = zoneSymbol('fetchTaskAborting');
- var fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');
- var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () {
- return function (self, args) {
- if (Zone.current[fetchTaskScheduling] === true) {
- // a fetch is scheduling, so we are using xhr to polyfill fetch
- // and because we already schedule macroTask for fetch, we should
- // not schedule a macroTask for xhr again
- return sendNative.apply(self, args);
- }
-
- if (self[XHR_SYNC]) {
- // if the XHR is sync there is no task to schedule, just execute the code.
- return sendNative.apply(self, args);
- } else {
- var _options2 = {
- target: self,
- url: self[XHR_URL],
- isPeriodic: false,
- args: args,
- aborted: false
- };
- var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, _options2, scheduleTask, clearTask);
-
- if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !_options2.aborted && task.state === SCHEDULED) {
- // xhr request throw error when send
- // we should invoke task instead of leaving a scheduled
- // pending macroTask
- task.invoke();
- }
- }
- };
- });
- var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () {
- return function (self, args) {
- var task = findPendingTask(self);
-
- if (task && typeof task.type == 'string') {
- // If the XHR has already completed, do nothing.
- // If the XHR has already been aborted, do nothing.
- // Fix #569, call abort multiple times before done will cause
- // macroTask task count be negative number
- if (task.cancelFn == null || task.data && task.data.aborted) {
- return;
- }
-
- task.zone.cancelTask(task);
- } else if (Zone.current[fetchTaskAborting] === true) {
- // the abort is called from fetch polyfill, we need to call native abort of XHR.
- return abortNative.apply(self, args);
- } // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no
- // task
- // to cancel. Do nothing.
-
- };
- });
- }
- });
-
- Zone.__load_patch('geolocation', function (global) {
- /// GEO_LOCATION
- if (global['navigator'] && global['navigator'].geolocation) {
- patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);
- }
- });
-
- Zone.__load_patch('PromiseRejectionEvent', function (global, Zone) {
- // handle unhandled promise rejection
- function findPromiseRejectionHandler(evtName) {
- return function (e) {
- var eventTasks = findEventTasks(global, evtName);
- eventTasks.forEach(function (eventTask) {
- // windows has added unhandledrejection event listener
- // trigger the event listener
- var PromiseRejectionEvent = global['PromiseRejectionEvent'];
-
- if (PromiseRejectionEvent) {
- var evt = new PromiseRejectionEvent(evtName, {
- promise: e.promise,
- reason: e.rejection
- });
- eventTask.invoke(evt);
- }
- });
- };
- }
-
- if (global['PromiseRejectionEvent']) {
- Zone[zoneSymbol('unhandledPromiseRejectionHandler')] = findPromiseRejectionHandler('unhandledrejection');
- Zone[zoneSymbol('rejectionHandledHandler')] = findPromiseRejectionHandler('rejectionhandled');
- }
- });
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
- /***/
-
- },
-
- /***/
- "./node_modules/zone.js/dist/zone-legacy.js":
- /*!**************************************************!*\
- !*** ./node_modules/zone.js/dist/zone-legacy.js ***!
- \**************************************************/
-
- /*! no static exports found */
-
- /***/
- function node_modulesZoneJsDistZoneLegacyJs(module, exports, __webpack_require__) {
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
- (function (global, factory) {
- true ? factory() : undefined;
- })(this, function () {
- 'use strict';
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
- function eventTargetLegacyPatch(_global, api) {
- var _a = api.getGlobalObjects(),
- eventNames = _a.eventNames,
- globalSources = _a.globalSources,
- zoneSymbolEventNames = _a.zoneSymbolEventNames,
- TRUE_STR = _a.TRUE_STR,
- FALSE_STR = _a.FALSE_STR,
- ZONE_SYMBOL_PREFIX = _a.ZONE_SYMBOL_PREFIX;
-
- var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';
- var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'.split(',');
- var EVENT_TARGET = 'EventTarget';
- var apis = [];
- var isWtf = _global['wtf'];
- var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');
-
- if (isWtf) {
- // Workaround for: https://github.com/google/tracing-framework/issues/555
- apis = WTF_ISSUE_555_ARRAY.map(function (v) {
- return 'HTML' + v + 'Element';
- }).concat(NO_EVENT_TARGET);
- } else if (_global[EVENT_TARGET]) {
- apis.push(EVENT_TARGET);
- } else {
- // Note: EventTarget is not available in all browsers,
- // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget
- apis = NO_EVENT_TARGET;
- }
-
- var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;
- var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;
- var ieOrEdge = api.isIEOrEdge();
- var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';
- var FUNCTION_WRAPPER = '[object FunctionWrapper]';
- var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }'; // predefine all __zone_symbol__ + eventName + true/false string
-
- for (var i = 0; i < eventNames.length; i++) {
- var eventName = eventNames[i];
- var falseEventName = eventName + FALSE_STR;
- var trueEventName = eventName + TRUE_STR;
- var symbol = ZONE_SYMBOL_PREFIX + falseEventName;
- var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;
- zoneSymbolEventNames[eventName] = {};
- zoneSymbolEventNames[eventName][FALSE_STR] = symbol;
- zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;
- } // predefine all task.source string
-
-
- for (var i = 0; i < WTF_ISSUE_555.length; i++) {
- var target = WTF_ISSUE_555_ARRAY[i];
- var targets = globalSources[target] = {};
-
- for (var j = 0; j < eventNames.length; j++) {
- var eventName = eventNames[j];
- targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;
- }
- }
-
- var checkIEAndCrossContext = function checkIEAndCrossContext(nativeDelegate, delegate, target, args) {
- if (!isDisableIECheck && ieOrEdge) {
- if (isEnableCrossContextCheck) {
- try {
- var testString = delegate.toString();
-
- if (testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS) {
- nativeDelegate.apply(target, args);
- return false;
- }
- } catch (error) {
- nativeDelegate.apply(target, args);
- return false;
- }
- } else {
- var testString = delegate.toString();
-
- if (testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS) {
- nativeDelegate.apply(target, args);
- return false;
- }
- }
- } else if (isEnableCrossContextCheck) {
- try {
- delegate.toString();
- } catch (error) {
- nativeDelegate.apply(target, args);
- return false;
- }
- }
-
- return true;
- };
-
- var apiTypes = [];
-
- for (var i = 0; i < apis.length; i++) {
- var type = _global[apis[i]];
- apiTypes.push(type && type.prototype);
- } // vh is validateHandler to check event handler
- // is valid or not(for security check)
-
-
- api.patchEventTarget(_global, apiTypes, {
- vh: checkIEAndCrossContext
- });
- Zone[api.symbol('patchEventTarget')] = !!_global[EVENT_TARGET];
- return true;
- }
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
- // we have to patch the instance since the proto is non-configurable
-
-
- function apply(api, _global) {
- var _a = api.getGlobalObjects(),
- ADD_EVENT_LISTENER_STR = _a.ADD_EVENT_LISTENER_STR,
- REMOVE_EVENT_LISTENER_STR = _a.REMOVE_EVENT_LISTENER_STR;
-
- var WS = _global.WebSocket; // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener
- // On older Chrome, no need since EventTarget was already patched
-
- if (!_global.EventTarget) {
- api.patchEventTarget(_global, [WS.prototype]);
- }
-
- _global.WebSocket = function (x, y) {
- var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);
- var proxySocket;
- var proxySocketProto; // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance
-
- var onmessageDesc = api.ObjectGetOwnPropertyDescriptor(socket, 'onmessage');
-
- if (onmessageDesc && onmessageDesc.configurable === false) {
- proxySocket = api.ObjectCreate(socket); // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'
- // but proxySocket not, so we will keep socket as prototype and pass it to
- // patchOnProperties method
-
- proxySocketProto = socket;
- [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {
- proxySocket[propName] = function () {
- var args = api.ArraySlice.call(arguments);
-
- if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {
- var eventName = args.length > 0 ? args[0] : undefined;
-
- if (eventName) {
- var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);
-
- socket[propertySymbol] = proxySocket[propertySymbol];
- }
- }
-
- return socket[propName].apply(socket, args);
- };
- });
- } else {
- // we can patch the real socket
- proxySocket = socket;
- }
-
- api.patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);
- return proxySocket;
- };
-
- var globalWebSocket = _global['WebSocket'];
-
- for (var prop in WS) {
- globalWebSocket[prop] = WS[prop];
- }
- }
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
- /**
- * @fileoverview
- * @suppress {globalThis}
- */
-
-
- function propertyDescriptorLegacyPatch(api, _global) {
- var _a = api.getGlobalObjects(),
- isNode = _a.isNode,
- isMix = _a.isMix;
-
- if (isNode && !isMix) {
- return;
- }
-
- if (!canPatchViaPropertyDescriptor(api, _global)) {
- var supportsWebSocket = typeof WebSocket !== 'undefined'; // Safari, Android browsers (Jelly Bean)
-
- patchViaCapturingAllTheEvents(api);
- api.patchClass('XMLHttpRequest');
-
- if (supportsWebSocket) {
- apply(api, _global);
- }
-
- Zone[api.symbol('patchEvents')] = true;
- }
- }
-
- function canPatchViaPropertyDescriptor(api, _global) {
- var _a = api.getGlobalObjects(),
- isBrowser = _a.isBrowser,
- isMix = _a.isMix;
-
- if ((isBrowser || isMix) && !api.ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') && typeof Element !== 'undefined') {
- // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364
- // IDL interface attributes are not configurable
- var desc = api.ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');
- if (desc && !desc.configurable) return false; // try to use onclick to detect whether we can patch via propertyDescriptor
- // because XMLHttpRequest is not available in service worker
-
- if (desc) {
- api.ObjectDefineProperty(Element.prototype, 'onclick', {
- enumerable: true,
- configurable: true,
- get: function get() {
- return true;
- }
- });
- var div = document.createElement('div');
- var result = !!div.onclick;
- api.ObjectDefineProperty(Element.prototype, 'onclick', desc);
- return result;
- }
- }
-
- var XMLHttpRequest = _global['XMLHttpRequest'];
-
- if (!XMLHttpRequest) {
- // XMLHttpRequest is not available in service worker
- return false;
- }
-
- var ON_READY_STATE_CHANGE = 'onreadystatechange';
- var XMLHttpRequestPrototype = XMLHttpRequest.prototype;
- var xhrDesc = api.ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE); // add enumerable and configurable here because in opera
- // by default XMLHttpRequest.prototype.onreadystatechange is undefined
- // without adding enumerable and configurable will cause onreadystatechange
- // non-configurable
- // and if XMLHttpRequest.prototype.onreadystatechange is undefined,
- // we should set a real desc instead a fake one
-
- if (xhrDesc) {
- api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {
- enumerable: true,
- configurable: true,
- get: function get() {
- return true;
- }
- });
- var req = new XMLHttpRequest();
- var result = !!req.onreadystatechange; // restore original desc
-
- api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});
- return result;
- } else {
- var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = api.symbol('fake');
- api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {
- enumerable: true,
- configurable: true,
- get: function get() {
- return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1];
- },
- set: function set(value) {
- this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value;
- }
- });
- var req = new XMLHttpRequest();
-
- var detectFunc = function detectFunc() {};
-
- req.onreadystatechange = detectFunc;
- var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;
- req.onreadystatechange = null;
- return result;
- }
- } // Whenever any eventListener fires, we check the eventListener target and all parents
- // for `onwhatever` properties and replace them with zone-bound functions
- // - Chrome (for now)
-
-
- function patchViaCapturingAllTheEvents(api) {
- var eventNames = api.getGlobalObjects().eventNames;
- var unboundKey = api.symbol('unbound');
-
- var _loop_1 = function _loop_1(i) {
- var property = eventNames[i];
- var onproperty = 'on' + property;
- self.addEventListener(property, function (event) {
- var elt = event.target,
- bound,
- source;
-
- if (elt) {
- source = elt.constructor['name'] + '.' + onproperty;
- } else {
- source = 'unknown.' + onproperty;
- }
-
- while (elt) {
- if (elt[onproperty] && !elt[onproperty][unboundKey]) {
- bound = api.wrapWithCurrentZone(elt[onproperty], source);
- bound[unboundKey] = elt[onproperty];
- elt[onproperty] = bound;
- }
-
- elt = elt.parentElement;
- }
- }, true);
- };
-
- for (var i = 0; i < eventNames.length; i++) {
- _loop_1(i);
- }
- }
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
-
- function registerElementPatch(_global, api) {
- var _a = api.getGlobalObjects(),
- isBrowser = _a.isBrowser,
- isMix = _a.isMix;
-
- if (!isBrowser && !isMix || !('registerElement' in _global.document)) {
- return;
- }
-
- var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];
- api.patchCallbacks(api, document, 'Document', 'registerElement', callbacks);
- }
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-
- /**
- * @fileoverview
- * @suppress {missingRequire}
- */
-
-
- (function (_global) {
- _global['__zone_symbol__legacyPatch'] = function () {
- var Zone = _global['Zone'];
-
- Zone.__load_patch('registerElement', function (global, Zone, api) {
- registerElementPatch(global, api);
- });
-
- Zone.__load_patch('EventTargetLegacy', function (global, Zone, api) {
- eventTargetLegacyPatch(global, api);
- propertyDescriptorLegacyPatch(api, global);
- });
- };
- })(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);
- });
- /***/
-
- },
-
- /***/
- "./src/polyfills.ts":
- /*!**************************!*\
- !*** ./src/polyfills.ts ***!
- \**************************/
-
- /*! no exports provided */
-
- /***/
- function srcPolyfillsTs(module, __webpack_exports__, __webpack_require__) {
- "use strict";
-
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */
-
-
- var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- /*! tslib */
- "./node_modules/tslib/tslib.es6.js");
- /* harmony import */
-
-
- var zone_js_dist_zone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- /*! zone.js/dist/zone */
- "./node_modules/zone.js/dist/zone-evergreen.js");
- /* harmony import */
-
-
- var zone_js_dist_zone__WEBPACK_IMPORTED_MODULE_1___default =
- /*#__PURE__*/
- __webpack_require__.n(zone_js_dist_zone__WEBPACK_IMPORTED_MODULE_1__);
- /*
- * DAA Example
- *
- * Copyright (C) 2019 - Miguel Reboiro-Jato.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
- /**
- * This file includes polyfills needed by Angular and is loaded before the app.
- * You can add your own extra polyfills to this file.
- *
- * This file is divided into 2 sections:
- * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
- * 2. Application imports. Files imported after ZoneJS that should be loaded before your main
- * file.
- *
- * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
- * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
- * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
- *
- * Learn more in https://angular.io/guide/browser-support
- */
-
- /***************************************************************************************************
- * BROWSER POLYFILLS
- */
-
- /** IE9, IE10 and IE11 requires all of the following polyfills. **/
- // import 'core-js/es6/symbol';
- // import 'core-js/es6/object';
- // import 'core-js/es6/function';
- // import 'core-js/es6/parse-int';
- // import 'core-js/es6/parse-float';
- // import 'core-js/es6/number';
- // import 'core-js/es6/math';
- // import 'core-js/es6/string';
- // import 'core-js/es6/date';
- // import 'core-js/es6/array';
- // import 'core-js/es6/regexp';
- // import 'core-js/es6/map';
- // import 'core-js/es6/weak-map';
- // import 'core-js/es6/set';
-
- /**
- * If the application will be indexed by Google Search, the following is required.
- * Googlebot uses a renderer based on Chrome 41.
- * https://developers.google.com/search/docs/guides/rendering
- **/
- // import 'core-js/es6/array';
-
- /** IE10 and IE11 requires the following for NgClass support on SVG elements */
- // import 'classlist.js'; // Run `npm install --save classlist.js`.
-
- /** IE10 and IE11 requires the following for the Reflect API. */
- // import 'core-js/es6/reflect';
-
- /**
- * Web Animations `@angular/platform-browser/animations`
- * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.
- * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).
- **/
- // import 'web-animations-js'; // Run `npm install --save web-animations-js`.
-
- /**
- * By default, zone.js will patch all possible macroTask and DomEvents
- * user can disable parts of macroTask/DomEvents patch by setting following flags
- */
- // (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
- // (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
- // (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
-
- /*
- * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
- * with the following flag, it will bypass `zone.js` patch for IE/Edge
- */
- // (window as any).__Zone_enable_cross_context_check = true;
-
- /***************************************************************************************************
- * Zone JS is required by default for Angular itself.
- */
- // Included with Angular CLI.
-
- /***************************************************************************************************
- * APPLICATION IMPORTS
- */
-
- /***/
-
- },
-
- /***/
- 1:
- /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** multi ./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/es5-polyfills.js zone.js/dist/zone-legacy ./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js ./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/es5-jit-polyfills.js ./src/polyfills.ts ***!
- \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************/
-
- /*! no static exports found */
-
- /***/
- function _(module, exports, __webpack_require__) {
- __webpack_require__(
- /*! C:\Users\Noelia\Desktop\DAA\daaexample\src\main\angular\node_modules\@angular-devkit\build-angular\src\angular-cli-files\models\es5-polyfills.js */
- "./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/es5-polyfills.js");
-
- __webpack_require__(
- /*! zone.js/dist/zone-legacy */
- "./node_modules/zone.js/dist/zone-legacy.js");
-
- __webpack_require__(
- /*! C:\Users\Noelia\Desktop\DAA\daaexample\src\main\angular\node_modules\@angular-devkit\build-angular\src\angular-cli-files\models\jit-polyfills.js */
- "./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js");
-
- __webpack_require__(
- /*! C:\Users\Noelia\Desktop\DAA\daaexample\src\main\angular\node_modules\@angular-devkit\build-angular\src\angular-cli-files\models\es5-jit-polyfills.js */
- "./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/es5-jit-polyfills.js");
-
- module.exports = __webpack_require__(
- /*! C:\Users\Noelia\Desktop\DAA\daaexample\src\main\angular\src\polyfills.ts */
- "./src/polyfills.ts");
- /***/
- }
-}, [[1, "runtime"]]]);
-//# sourceMappingURL=polyfills-es5.js.map
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/polyfills-es5.js.map b/target/m2e-wtp/web-resources/polyfills-es5.js.map
deleted file mode 100644
index f56ce15c3a060523339d6070176908be061178fb..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/polyfills-es5.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["node_modules/@angular-devkit/build-angular/node_modules/core-js/es/date/index.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/es/math/index.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/es/number/index.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/es/reflect/index.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/es/symbol/index.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-function.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/a-possible-prototype.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/add-to-unscopables.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/advance-string-index.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-instance.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/an-object.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-copy-within.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-fill.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-for-each.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-from.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-includes.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-iteration.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-last-index-of.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-has-species-support.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-is-strict.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-method-uses-to-length.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-reduce.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/array-species-create.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/call-with-safe-iteration-closing.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/check-correctness-of-iteration.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof-raw.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/classof.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-strong.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection-weak.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/collection.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/copy-constructor-properties.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-is-regexp-logic.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/correct-prototype-getter.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-html.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-iterator-constructor.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-non-enumerable-property.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property-descriptor.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/create-property.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/date-to-iso-string.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/date-to-primitive.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-iterator.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/define-well-known-symbol.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/descriptors.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/document-create-element.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/dom-iterables.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-is-ios.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-user-agent.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/engine-v8-version.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/enum-bug-keys.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/export.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fails.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/freezing.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind-context.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/function-bind.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-built-in.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/get-iterator-method.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/global.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/has.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/hidden-keys.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/host-report-errors.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/html.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/ie8-dom-define.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/indexed-object.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inherit-if-required.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/inspect-source.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-metadata.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/internal-state.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array-iterator-method.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-array.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-forced.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-integer.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-object.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-pure.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/is-regexp.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterate.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators-core.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/iterators.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-expm1.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-fround.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-log1p.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/math-sign.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/microtask.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-promise-constructor.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-symbol.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/native-weak-map.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/new-promise-capability.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/not-a-regexp.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/number-is-finite.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/number-parse-float.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/number-parse-int.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-assign.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-create.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-properties.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-define-property.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-descriptor.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names-external.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-names.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-own-property-symbols.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-get-prototype-of.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys-internal.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-keys.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-property-is-enumerable.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-set-prototype-of.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/object-to-string.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/own-keys.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/path.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/perform.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/promise-resolve.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine-all.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/redefine.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/reflect-metadata.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-exec-abstract.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-exec.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-flags.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/regexp-sticky-helpers.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/require-object-coercible.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/same-value.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-global.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-species.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/set-to-string-tag.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-key.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared-store.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/shared.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/species-constructor.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-html-forced.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-multibyte.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-pad.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-repeat.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-trim-forced.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/string-trim.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/task.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/this-number-value.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-absolute-index.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-indexed-object.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-integer.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-length.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-object.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-primitive.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/to-string-tag-support.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/uid.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/use-symbol-as-uid.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol-wrapped.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/well-known-symbol.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/internals/whitespaces.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.concat.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.copy-within.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.every.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.fill.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.filter.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.find-index.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.find.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.for-each.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.from.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.index-of.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.is-array.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.iterator.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.join.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.last-index-of.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.map.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.of.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.reduce-right.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.reduce.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.slice.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.some.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.sort.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.array.splice.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.now.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-iso-string.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-json.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-primitive.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.date.to-string.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.function.bind.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.function.has-instance.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.function.name.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.json.to-string-tag.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.map.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.acosh.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.asinh.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.atanh.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.cbrt.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.clz32.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.cosh.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.expm1.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.fround.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.hypot.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.imul.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.log10.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.log1p.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.log2.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.sign.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.sinh.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.tanh.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.to-string-tag.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.math.trunc.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.constructor.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.epsilon.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-finite.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-integer.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-nan.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.is-safe-integer.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.max-safe-integer.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.min-safe-integer.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.parse-float.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.parse-int.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.to-fixed.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.number.to-precision.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.assign.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.create.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.define-properties.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.define-property.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.freeze.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.get-own-property-descriptor.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.get-own-property-names.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.get-prototype-of.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is-extensible.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is-frozen.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is-sealed.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.is.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.keys.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.prevent-extensions.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.seal.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.set-prototype-of.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.object.to-string.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.parse-float.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.parse-int.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.promise.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.apply.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.construct.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.define-property.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.delete-property.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.get-prototype-of.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.get.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.has.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.is-extensible.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.own-keys.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.prevent-extensions.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.set-prototype-of.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.reflect.set.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.constructor.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.exec.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.flags.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.regexp.to-string.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.set.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.anchor.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.big.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.blink.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.bold.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.code-point-at.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.ends-with.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.fixed.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.fontcolor.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.fontsize.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.from-code-point.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.includes.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.italics.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.iterator.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.link.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.match.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.raw.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.repeat.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.replace.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.search.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.small.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.split.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.starts-with.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.strike.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.sub.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.sup.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.string.trim.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.async-iterator.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.description.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.has-instance.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.iterator.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.match-all.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.match.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.replace.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.search.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.species.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.split.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.to-primitive.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.to-string-tag.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.symbol.unscopables.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/es.weak-map.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.define-metadata.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.delete-metadata.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-metadata.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-metadata.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/esnext.reflect.metadata.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/web.dom-collections.for-each.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/modules/web.dom-collections.iterator.js","node_modules/@angular-devkit/build-angular/node_modules/core-js/proposals/reflect-metadata.js","node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/es5-jit-polyfills.js","node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/es5-polyfills.js","node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js","node_modules/regenerator-runtime/runtime.js","node_modules/tslib/tslib.es6.js","node_modules/zone.js/dist/zone-evergreen.js","node_modules/zone.js/dist/zone-legacy.js","src/polyfills.ts"],"names":[],"mappings":"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","file":"polyfills-es5.js","sourceRoot":"webpack:///"}
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/runtime-es2015.js b/target/m2e-wtp/web-resources/runtime-es2015.js
deleted file mode 100644
index ab4f9b75a5cf7dea77f848bfec466054d5537489..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/runtime-es2015.js
+++ /dev/null
@@ -1,224 +0,0 @@
-/******/ (function(modules) { // webpackBootstrap
-/******/ // install a JSONP callback for chunk loading
-/******/ function webpackJsonpCallback(data) {
-/******/ var chunkIds = data[0];
-/******/ var moreModules = data[1];
-/******/ var executeModules = data[2];
-/******/
-/******/ // add "moreModules" to the modules object,
-/******/ // then flag all "chunkIds" as loaded and fire callback
-/******/ var moduleId, chunkId, i = 0, resolves = [];
-/******/ for(;i < chunkIds.length; i++) {
-/******/ chunkId = chunkIds[i];
-/******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
-/******/ resolves.push(installedChunks[chunkId][0]);
-/******/ }
-/******/ installedChunks[chunkId] = 0;
-/******/ }
-/******/ for(moduleId in moreModules) {
-/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
-/******/ modules[moduleId] = moreModules[moduleId];
-/******/ }
-/******/ }
-/******/ if(parentJsonpFunction) parentJsonpFunction(data);
-/******/
-/******/ while(resolves.length) {
-/******/ resolves.shift()();
-/******/ }
-/******/
-/******/ // add entry modules from loaded chunk to deferred list
-/******/ deferredModules.push.apply(deferredModules, executeModules || []);
-/******/
-/******/ // run deferred modules when all chunks ready
-/******/ return checkDeferredModules();
-/******/ };
-/******/ function checkDeferredModules() {
-/******/ var result;
-/******/ for(var i = 0; i < deferredModules.length; i++) {
-/******/ var deferredModule = deferredModules[i];
-/******/ var fulfilled = true;
-/******/ for(var j = 1; j < deferredModule.length; j++) {
-/******/ var depId = deferredModule[j];
-/******/ if(installedChunks[depId] !== 0) fulfilled = false;
-/******/ }
-/******/ if(fulfilled) {
-/******/ deferredModules.splice(i--, 1);
-/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
-/******/ }
-/******/ }
-/******/
-/******/ return result;
-/******/ }
-/******/
-/******/ // The module cache
-/******/ var installedModules = {};
-/******/
-/******/ // object to store loaded and loading chunks
-/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
-/******/ // Promise = chunk loading, 0 = chunk loaded
-/******/ var installedChunks = {
-/******/ "runtime": 0
-/******/ };
-/******/
-/******/ var deferredModules = [];
-/******/
-/******/ // script path function
-/******/ function jsonpScriptSrc(chunkId) {
-/******/ return __webpack_require__.p + "" + ({"modules-people-people-module":"modules-people-people-module","modules-pets-pets-module":"modules-pets-pets-module"}[chunkId]||chunkId) + "-es2015.js"
-/******/ }
-/******/
-/******/ // The require function
-/******/ function __webpack_require__(moduleId) {
-/******/
-/******/ // Check if module is in cache
-/******/ if(installedModules[moduleId]) {
-/******/ return installedModules[moduleId].exports;
-/******/ }
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = installedModules[moduleId] = {
-/******/ i: moduleId,
-/******/ l: false,
-/******/ exports: {}
-/******/ };
-/******/
-/******/ // Execute the module function
-/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ // Flag the module as loaded
-/******/ module.l = true;
-/******/
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-/******/
-/******/ // This file contains only the entry chunk.
-/******/ // The chunk loading function for additional chunks
-/******/ __webpack_require__.e = function requireEnsure(chunkId) {
-/******/ var promises = [];
-/******/
-/******/
-/******/ // JSONP chunk loading for javascript
-/******/
-/******/ var installedChunkData = installedChunks[chunkId];
-/******/ if(installedChunkData !== 0) { // 0 means "already installed".
-/******/
-/******/ // a Promise means "currently loading".
-/******/ if(installedChunkData) {
-/******/ promises.push(installedChunkData[2]);
-/******/ } else {
-/******/ // setup Promise in chunk cache
-/******/ var promise = new Promise(function(resolve, reject) {
-/******/ installedChunkData = installedChunks[chunkId] = [resolve, reject];
-/******/ });
-/******/ promises.push(installedChunkData[2] = promise);
-/******/
-/******/ // start chunk loading
-/******/ var script = document.createElement('script');
-/******/ var onScriptComplete;
-/******/
-/******/ script.charset = 'utf-8';
-/******/ script.timeout = 120;
-/******/ if (__webpack_require__.nc) {
-/******/ script.setAttribute("nonce", __webpack_require__.nc);
-/******/ }
-/******/ script.src = jsonpScriptSrc(chunkId);
-/******/
-/******/ // create error before stack unwound to get useful stacktrace later
-/******/ var error = new Error();
-/******/ onScriptComplete = function (event) {
-/******/ // avoid mem leaks in IE.
-/******/ script.onerror = script.onload = null;
-/******/ clearTimeout(timeout);
-/******/ var chunk = installedChunks[chunkId];
-/******/ if(chunk !== 0) {
-/******/ if(chunk) {
-/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
-/******/ var realSrc = event && event.target && event.target.src;
-/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
-/******/ error.name = 'ChunkLoadError';
-/******/ error.type = errorType;
-/******/ error.request = realSrc;
-/******/ chunk[1](error);
-/******/ }
-/******/ installedChunks[chunkId] = undefined;
-/******/ }
-/******/ };
-/******/ var timeout = setTimeout(function(){
-/******/ onScriptComplete({ type: 'timeout', target: script });
-/******/ }, 120000);
-/******/ script.onerror = script.onload = onScriptComplete;
-/******/ document.head.appendChild(script);
-/******/ }
-/******/ }
-/******/ return Promise.all(promises);
-/******/ };
-/******/
-/******/ // expose the modules object (__webpack_modules__)
-/******/ __webpack_require__.m = modules;
-/******/
-/******/ // expose the module cache
-/******/ __webpack_require__.c = installedModules;
-/******/
-/******/ // define getter function for harmony exports
-/******/ __webpack_require__.d = function(exports, name, getter) {
-/******/ if(!__webpack_require__.o(exports, name)) {
-/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ }
-/******/ };
-/******/
-/******/ // define __esModule on exports
-/******/ __webpack_require__.r = function(exports) {
-/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ }
-/******/ Object.defineProperty(exports, '__esModule', { value: true });
-/******/ };
-/******/
-/******/ // create a fake namespace object
-/******/ // mode & 1: value is a module id, require it
-/******/ // mode & 2: merge all properties of value into the ns
-/******/ // mode & 4: return value when already ns object
-/******/ // mode & 8|1: behave like require
-/******/ __webpack_require__.t = function(value, mode) {
-/******/ if(mode & 1) value = __webpack_require__(value);
-/******/ if(mode & 8) return value;
-/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ var ns = Object.create(null);
-/******/ __webpack_require__.r(ns);
-/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ return ns;
-/******/ };
-/******/
-/******/ // getDefaultExport function for compatibility with non-harmony modules
-/******/ __webpack_require__.n = function(module) {
-/******/ var getter = module && module.__esModule ?
-/******/ function getDefault() { return module['default']; } :
-/******/ function getModuleExports() { return module; };
-/******/ __webpack_require__.d(getter, 'a', getter);
-/******/ return getter;
-/******/ };
-/******/
-/******/ // Object.prototype.hasOwnProperty.call
-/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ // __webpack_public_path__
-/******/ __webpack_require__.p = "";
-/******/
-/******/ // on error function for async loading
-/******/ __webpack_require__.oe = function(err) { console.error(err); throw err; };
-/******/
-/******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
-/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
-/******/ jsonpArray.push = webpackJsonpCallback;
-/******/ jsonpArray = jsonpArray.slice();
-/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
-/******/ var parentJsonpFunction = oldJsonpFunction;
-/******/
-/******/
-/******/ // run deferred modules from other chunks
-/******/ checkDeferredModules();
-/******/ })
-/************************************************************************/
-/******/ ([]);
-//# sourceMappingURL=runtime-es2015.js.map
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/runtime-es2015.js.map b/target/m2e-wtp/web-resources/runtime-es2015.js.map
deleted file mode 100644
index 7a5b7c565ba40cf0aa7615a6dee40e679c8dea68..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/runtime-es2015.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack/bootstrap"],"names":[],"mappings":";QAAA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,QAAQ,oBAAoB;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,iBAAiB,4BAA4B;QAC7C;QACA;QACA,kBAAkB,2BAA2B;QAC7C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;QACA,yCAAyC,oHAAoH;QAC7J;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;QACA;QACA;;;QAGA;;QAEA;QACA,iCAAiC;;QAEjC;QACA;QACA;QACA,KAAK;QACL;QACA;QACA;QACA,MAAM;QACN;;QAEA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,wBAAwB,kCAAkC;QAC1D,MAAM;QACN;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA,0CAA0C,oBAAoB,WAAW;;QAEzE;QACA;QACA;QACA;QACA,gBAAgB,uBAAuB;QACvC;;;QAGA;QACA","file":"runtime-es2015.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"runtime\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"\" + ({\"modules-people-people-module\":\"modules-people-people-module\",\"modules-pets-pets-module\":\"modules-pets-pets-module\"}[chunkId]||chunkId) + \"-es2015.js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":"webpack:///"}
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/runtime-es5.js b/target/m2e-wtp/web-resources/runtime-es5.js
deleted file mode 100644
index e4265b3d5a7382a429704169fd33d749938f1695..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/runtime-es5.js
+++ /dev/null
@@ -1,224 +0,0 @@
-/******/ (function(modules) { // webpackBootstrap
-/******/ // install a JSONP callback for chunk loading
-/******/ function webpackJsonpCallback(data) {
-/******/ var chunkIds = data[0];
-/******/ var moreModules = data[1];
-/******/ var executeModules = data[2];
-/******/
-/******/ // add "moreModules" to the modules object,
-/******/ // then flag all "chunkIds" as loaded and fire callback
-/******/ var moduleId, chunkId, i = 0, resolves = [];
-/******/ for(;i < chunkIds.length; i++) {
-/******/ chunkId = chunkIds[i];
-/******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
-/******/ resolves.push(installedChunks[chunkId][0]);
-/******/ }
-/******/ installedChunks[chunkId] = 0;
-/******/ }
-/******/ for(moduleId in moreModules) {
-/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
-/******/ modules[moduleId] = moreModules[moduleId];
-/******/ }
-/******/ }
-/******/ if(parentJsonpFunction) parentJsonpFunction(data);
-/******/
-/******/ while(resolves.length) {
-/******/ resolves.shift()();
-/******/ }
-/******/
-/******/ // add entry modules from loaded chunk to deferred list
-/******/ deferredModules.push.apply(deferredModules, executeModules || []);
-/******/
-/******/ // run deferred modules when all chunks ready
-/******/ return checkDeferredModules();
-/******/ };
-/******/ function checkDeferredModules() {
-/******/ var result;
-/******/ for(var i = 0; i < deferredModules.length; i++) {
-/******/ var deferredModule = deferredModules[i];
-/******/ var fulfilled = true;
-/******/ for(var j = 1; j < deferredModule.length; j++) {
-/******/ var depId = deferredModule[j];
-/******/ if(installedChunks[depId] !== 0) fulfilled = false;
-/******/ }
-/******/ if(fulfilled) {
-/******/ deferredModules.splice(i--, 1);
-/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
-/******/ }
-/******/ }
-/******/
-/******/ return result;
-/******/ }
-/******/
-/******/ // The module cache
-/******/ var installedModules = {};
-/******/
-/******/ // object to store loaded and loading chunks
-/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
-/******/ // Promise = chunk loading, 0 = chunk loaded
-/******/ var installedChunks = {
-/******/ "runtime": 0
-/******/ };
-/******/
-/******/ var deferredModules = [];
-/******/
-/******/ // script path function
-/******/ function jsonpScriptSrc(chunkId) {
-/******/ return __webpack_require__.p + "" + ({"modules-people-people-module":"modules-people-people-module","modules-pets-pets-module":"modules-pets-pets-module"}[chunkId]||chunkId) + "-es5.js"
-/******/ }
-/******/
-/******/ // The require function
-/******/ function __webpack_require__(moduleId) {
-/******/
-/******/ // Check if module is in cache
-/******/ if(installedModules[moduleId]) {
-/******/ return installedModules[moduleId].exports;
-/******/ }
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = installedModules[moduleId] = {
-/******/ i: moduleId,
-/******/ l: false,
-/******/ exports: {}
-/******/ };
-/******/
-/******/ // Execute the module function
-/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ // Flag the module as loaded
-/******/ module.l = true;
-/******/
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-/******/
-/******/ // This file contains only the entry chunk.
-/******/ // The chunk loading function for additional chunks
-/******/ __webpack_require__.e = function requireEnsure(chunkId) {
-/******/ var promises = [];
-/******/
-/******/
-/******/ // JSONP chunk loading for javascript
-/******/
-/******/ var installedChunkData = installedChunks[chunkId];
-/******/ if(installedChunkData !== 0) { // 0 means "already installed".
-/******/
-/******/ // a Promise means "currently loading".
-/******/ if(installedChunkData) {
-/******/ promises.push(installedChunkData[2]);
-/******/ } else {
-/******/ // setup Promise in chunk cache
-/******/ var promise = new Promise(function(resolve, reject) {
-/******/ installedChunkData = installedChunks[chunkId] = [resolve, reject];
-/******/ });
-/******/ promises.push(installedChunkData[2] = promise);
-/******/
-/******/ // start chunk loading
-/******/ var script = document.createElement('script');
-/******/ var onScriptComplete;
-/******/
-/******/ script.charset = 'utf-8';
-/******/ script.timeout = 120;
-/******/ if (__webpack_require__.nc) {
-/******/ script.setAttribute("nonce", __webpack_require__.nc);
-/******/ }
-/******/ script.src = jsonpScriptSrc(chunkId);
-/******/
-/******/ // create error before stack unwound to get useful stacktrace later
-/******/ var error = new Error();
-/******/ onScriptComplete = function (event) {
-/******/ // avoid mem leaks in IE.
-/******/ script.onerror = script.onload = null;
-/******/ clearTimeout(timeout);
-/******/ var chunk = installedChunks[chunkId];
-/******/ if(chunk !== 0) {
-/******/ if(chunk) {
-/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
-/******/ var realSrc = event && event.target && event.target.src;
-/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
-/******/ error.name = 'ChunkLoadError';
-/******/ error.type = errorType;
-/******/ error.request = realSrc;
-/******/ chunk[1](error);
-/******/ }
-/******/ installedChunks[chunkId] = undefined;
-/******/ }
-/******/ };
-/******/ var timeout = setTimeout(function(){
-/******/ onScriptComplete({ type: 'timeout', target: script });
-/******/ }, 120000);
-/******/ script.onerror = script.onload = onScriptComplete;
-/******/ document.head.appendChild(script);
-/******/ }
-/******/ }
-/******/ return Promise.all(promises);
-/******/ };
-/******/
-/******/ // expose the modules object (__webpack_modules__)
-/******/ __webpack_require__.m = modules;
-/******/
-/******/ // expose the module cache
-/******/ __webpack_require__.c = installedModules;
-/******/
-/******/ // define getter function for harmony exports
-/******/ __webpack_require__.d = function(exports, name, getter) {
-/******/ if(!__webpack_require__.o(exports, name)) {
-/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ }
-/******/ };
-/******/
-/******/ // define __esModule on exports
-/******/ __webpack_require__.r = function(exports) {
-/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ }
-/******/ Object.defineProperty(exports, '__esModule', { value: true });
-/******/ };
-/******/
-/******/ // create a fake namespace object
-/******/ // mode & 1: value is a module id, require it
-/******/ // mode & 2: merge all properties of value into the ns
-/******/ // mode & 4: return value when already ns object
-/******/ // mode & 8|1: behave like require
-/******/ __webpack_require__.t = function(value, mode) {
-/******/ if(mode & 1) value = __webpack_require__(value);
-/******/ if(mode & 8) return value;
-/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ var ns = Object.create(null);
-/******/ __webpack_require__.r(ns);
-/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ return ns;
-/******/ };
-/******/
-/******/ // getDefaultExport function for compatibility with non-harmony modules
-/******/ __webpack_require__.n = function(module) {
-/******/ var getter = module && module.__esModule ?
-/******/ function getDefault() { return module['default']; } :
-/******/ function getModuleExports() { return module; };
-/******/ __webpack_require__.d(getter, 'a', getter);
-/******/ return getter;
-/******/ };
-/******/
-/******/ // Object.prototype.hasOwnProperty.call
-/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ // __webpack_public_path__
-/******/ __webpack_require__.p = "";
-/******/
-/******/ // on error function for async loading
-/******/ __webpack_require__.oe = function(err) { console.error(err); throw err; };
-/******/
-/******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
-/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
-/******/ jsonpArray.push = webpackJsonpCallback;
-/******/ jsonpArray = jsonpArray.slice();
-/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
-/******/ var parentJsonpFunction = oldJsonpFunction;
-/******/
-/******/
-/******/ // run deferred modules from other chunks
-/******/ checkDeferredModules();
-/******/ })
-/************************************************************************/
-/******/ ([]);
-//# sourceMappingURL=runtime-es5.js.map
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/runtime-es5.js.map b/target/m2e-wtp/web-resources/runtime-es5.js.map
deleted file mode 100644
index 81061d280554a9a0d8dec09e6ac1b94e5abe4dc7..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/runtime-es5.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack/bootstrap"],"names":[],"mappings":";QAAA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,QAAQ,oBAAoB;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,iBAAiB,4BAA4B;QAC7C;QACA;QACA,kBAAkB,2BAA2B;QAC7C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;QACA,yCAAyC,oHAAoH;QAC7J;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;QACA;QACA;;;QAGA;;QAEA;QACA,iCAAiC;;QAEjC;QACA;QACA;QACA,KAAK;QACL;QACA;QACA;QACA,MAAM;QACN;;QAEA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,wBAAwB,kCAAkC;QAC1D,MAAM;QACN;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA,0CAA0C,oBAAoB,WAAW;;QAEzE;QACA;QACA;QACA;QACA,gBAAgB,uBAAuB;QACvC;;;QAGA;QACA","file":"runtime-es5.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"runtime\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"\" + ({\"modules-people-people-module\":\"modules-people-people-module\",\"modules-pets-pets-module\":\"modules-pets-pets-module\"}[chunkId]||chunkId) + \"-es2015.js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":"webpack:///"}
\ No newline at end of file
diff --git a/target/m2e-wtp/web-resources/styles-es2015.js b/target/m2e-wtp/web-resources/styles-es2015.js
deleted file mode 100644
index 33ed3a81aaa00e101c70ea22fc55a340ada7f817..0000000000000000000000000000000000000000
--- a/target/m2e-wtp/web-resources/styles-es2015.js
+++ /dev/null
@@ -1,386 +0,0 @@
-(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["styles"],{
-
-/***/ "./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/bootstrap/dist/css/bootstrap.css":
-/*!************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src??embedded!./node_modules/bootstrap/dist/css/bootstrap.css ***!
- \************************************************************************************************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-module.exports = [[module.i, "/*!\n * Bootstrap v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\ndt {\n font-weight: 700;\n}\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\nblockquote {\n margin: 0 0 1rem;\n}\nb,\nstrong {\n font-weight: bolder;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\nsub {\n bottom: -.25em;\n}\nsup {\n top: -.5em;\n}\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\na:not([href]) {\n color: inherit;\n text-decoration: none;\n}\na:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\nfigure {\n margin: 0 0 1rem;\n}\nimg {\n vertical-align: middle;\n border-style: none;\n}\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\ntable {\n border-collapse: collapse;\n}\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\nth {\n text-align: inherit;\n}\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\nbutton {\n border-radius: 0;\n}\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\nbutton,\ninput {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nselect {\n word-wrap: normal;\n}\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\ntextarea {\n overflow: auto;\n resize: vertical;\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\nprogress {\n vertical-align: baseline;\n}\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\noutput {\n display: inline-block;\n}\nsummary {\n display: list-item;\n cursor: pointer;\n}\ntemplate {\n display: none;\n}\n[hidden] {\n display: none !important;\n}\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\nh1, .h1 {\n font-size: 2.5rem;\n}\nh2, .h2 {\n font-size: 2rem;\n}\nh3, .h3 {\n font-size: 1.75rem;\n}\nh4, .h4 {\n font-size: 1.5rem;\n}\nh5, .h5 {\n font-size: 1.25rem;\n}\nh6, .h6 {\n font-size: 1rem;\n}\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n.list-inline-item {\n display: inline-block;\n}\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n.figure {\n display: inline-block;\n}\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n.row {\n display: -webkit-box;\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n.col {\n flex-basis: 0;\n -webkit-box-flex: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n.row-cols-1 > * {\n -webkit-box-flex: 0;\n flex: 0 0 100%;\n max-width: 100%;\n}\n.row-cols-2 > * {\n -webkit-box-flex: 0;\n flex: 0 0 50%;\n max-width: 50%;\n}\n.row-cols-3 > * {\n -webkit-box-flex: 0;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n.row-cols-4 > * {\n -webkit-box-flex: 0;\n flex: 0 0 25%;\n max-width: 25%;\n}\n.row-cols-5 > * {\n -webkit-box-flex: 0;\n flex: 0 0 20%;\n max-width: 20%;\n}\n.row-cols-6 > * {\n -webkit-box-flex: 0;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n.col-auto {\n -webkit-box-flex: 0;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n.col-1 {\n -webkit-box-flex: 0;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n.col-2 {\n -webkit-box-flex: 0;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n.col-3 {\n -webkit-box-flex: 0;\n flex: 0 0 25%;\n max-width: 25%;\n}\n.col-4 {\n -webkit-box-flex: 0;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n.col-5 {\n -webkit-box-flex: 0;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n.col-6 {\n -webkit-box-flex: 0;\n flex: 0 0 50%;\n max-width: 50%;\n}\n.col-7 {\n -webkit-box-flex: 0;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n.col-8 {\n -webkit-box-flex: 0;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n.col-9 {\n -webkit-box-flex: 0;\n flex: 0 0 75%;\n max-width: 75%;\n}\n.col-10 {\n -webkit-box-flex: 0;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n.col-11 {\n -webkit-box-flex: 0;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n.col-12 {\n -webkit-box-flex: 0;\n flex: 0 0 100%;\n max-width: 100%;\n}\n.order-first {\n -webkit-box-ordinal-group: 0;\n order: -1;\n}\n.order-last {\n -webkit-box-ordinal-group: 14;\n order: 13;\n}\n.order-0 {\n -webkit-box-ordinal-group: 1;\n order: 0;\n}\n.order-1 {\n -webkit-box-ordinal-group: 2;\n order: 1;\n}\n.order-2 {\n -webkit-box-ordinal-group: 3;\n order: 2;\n}\n.order-3 {\n -webkit-box-ordinal-group: 4;\n order: 3;\n}\n.order-4 {\n -webkit-box-ordinal-group: 5;\n order: 4;\n}\n.order-5 {\n -webkit-box-ordinal-group: 6;\n order: 5;\n}\n.order-6 {\n -webkit-box-ordinal-group: 7;\n order: 6;\n}\n.order-7 {\n -webkit-box-ordinal-group: 8;\n order: 7;\n}\n.order-8 {\n -webkit-box-ordinal-group: 9;\n order: 8;\n}\n.order-9 {\n -webkit-box-ordinal-group: 10;\n order: 9;\n}\n.order-10 {\n -webkit-box-ordinal-group: 11;\n order: 10;\n}\n.order-11 {\n -webkit-box-ordinal-group: 12;\n order: 11;\n}\n.order-12 {\n -webkit-box-ordinal-group: 13;\n order: 12;\n}\n.offset-1 {\n margin-left: 8.333333%;\n}\n.offset-2 {\n margin-left: 16.666667%;\n}\n.offset-3 {\n margin-left: 25%;\n}\n.offset-4 {\n margin-left: 33.333333%;\n}\n.offset-5 {\n margin-left: 41.666667%;\n}\n.offset-6 {\n margin-left: 50%;\n}\n.offset-7 {\n margin-left: 58.333333%;\n}\n.offset-8 {\n margin-left: 66.666667%;\n}\n.offset-9 {\n margin-left: 75%;\n}\n.offset-10 {\n margin-left: 83.333333%;\n}\n.offset-11 {\n margin-left: 91.666667%;\n}\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n -webkit-box-flex: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n -webkit-box-flex: 0;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n -webkit-box-flex: 0;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n -webkit-box-flex: 0;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n -webkit-box-flex: 0;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n -webkit-box-flex: 0;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n -webkit-box-flex: 0;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n -webkit-box-flex: 0;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n -webkit-box-flex: 0;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -webkit-box-flex: 0;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -webkit-box-flex: 0;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -webkit-box-flex: 0;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -webkit-box-flex: 0;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -webkit-box-flex: 0;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -webkit-box-flex: 0;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -webkit-box-flex: 0;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -webkit-box-flex: 0;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -webkit-box-flex: 0;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -webkit-box-flex: 0;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -webkit-box-flex: 0;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -webkit-box-ordinal-group: 0;\n order: -1;\n }\n .order-sm-last {\n -webkit-box-ordinal-group: 14;\n order: 13;\n }\n .order-sm-0 {\n -webkit-box-ordinal-group: 1;\n order: 0;\n }\n .order-sm-1 {\n -webkit-box-ordinal-group: 2;\n order: 1;\n }\n .order-sm-2 {\n -webkit-box-ordinal-group: 3;\n order: 2;\n }\n .order-sm-3 {\n -webkit-box-ordinal-group: 4;\n order: 3;\n }\n .order-sm-4 {\n -webkit-box-ordinal-group: 5;\n order: 4;\n }\n .order-sm-5 {\n -webkit-box-ordinal-group: 6;\n order: 5;\n }\n .order-sm-6 {\n -webkit-box-ordinal-group: 7;\n order: 6;\n }\n .order-sm-7 {\n -webkit-box-ordinal-group: 8;\n order: 7;\n }\n .order-sm-8 {\n -webkit-box-ordinal-group: 9;\n order: 8;\n }\n .order-sm-9 {\n -webkit-box-ordinal-group: 10;\n order: 9;\n }\n .order-sm-10 {\n -webkit-box-ordinal-group: 11;\n order: 10;\n }\n .order-sm-11 {\n -webkit-box-ordinal-group: 12;\n order: 11;\n }\n .order-sm-12 {\n -webkit-box-ordinal-group: 13;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n -webkit-box-flex: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n -webkit-box-flex: 0;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n -webkit-box-flex: 0;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n -webkit-box-flex: 0;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n -webkit-box-flex: 0;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n -webkit-box-flex: 0;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n -webkit-box-flex: 0;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n -webkit-box-flex: 0;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n -webkit-box-flex: 0;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -webkit-box-flex: 0;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -webkit-box-flex: 0;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -webkit-box-flex: 0;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -webkit-box-flex: 0;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -webkit-box-flex: 0;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -webkit-box-flex: 0;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -webkit-box-flex: 0;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -webkit-box-flex: 0;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -webkit-box-flex: 0;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -webkit-box-flex: 0;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -webkit-box-flex: 0;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -webkit-box-ordinal-group: 0;\n order: -1;\n }\n .order-md-last {\n -webkit-box-ordinal-group: 14;\n order: 13;\n }\n .order-md-0 {\n -webkit-box-ordinal-group: 1;\n order: 0;\n }\n .order-md-1 {\n -webkit-box-ordinal-group: 2;\n order: 1;\n }\n .order-md-2 {\n -webkit-box-ordinal-group: 3;\n order: 2;\n }\n .order-md-3 {\n -webkit-box-ordinal-group: 4;\n order: 3;\n }\n .order-md-4 {\n -webkit-box-ordinal-group: 5;\n order: 4;\n }\n .order-md-5 {\n -webkit-box-ordinal-group: 6;\n order: 5;\n }\n .order-md-6 {\n -webkit-box-ordinal-group: 7;\n order: 6;\n }\n .order-md-7 {\n -webkit-box-ordinal-group: 8;\n order: 7;\n }\n .order-md-8 {\n -webkit-box-ordinal-group: 9;\n order: 8;\n }\n .order-md-9 {\n -webkit-box-ordinal-group: 10;\n order: 9;\n }\n .order-md-10 {\n -webkit-box-ordinal-group: 11;\n order: 10;\n }\n .order-md-11 {\n -webkit-box-ordinal-group: 12;\n order: 11;\n }\n .order-md-12 {\n -webkit-box-ordinal-group: 13;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n -webkit-box-flex: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n -webkit-box-flex: 0;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n -webkit-box-flex: 0;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n -webkit-box-flex: 0;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n -webkit-box-flex: 0;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n -webkit-box-flex: 0;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n -webkit-box-flex: 0;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n -webkit-box-flex: 0;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n -webkit-box-flex: 0;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -webkit-box-flex: 0;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -webkit-box-flex: 0;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -webkit-box-flex: 0;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -webkit-box-flex: 0;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -webkit-box-flex: 0;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -webkit-box-flex: 0;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -webkit-box-flex: 0;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -webkit-box-flex: 0;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -webkit-box-flex: 0;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -webkit-box-flex: 0;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -webkit-box-flex: 0;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -webkit-box-ordinal-group: 0;\n order: -1;\n }\n .order-lg-last {\n -webkit-box-ordinal-group: 14;\n order: 13;\n }\n .order-lg-0 {\n -webkit-box-ordinal-group: 1;\n order: 0;\n }\n .order-lg-1 {\n -webkit-box-ordinal-group: 2;\n order: 1;\n }\n .order-lg-2 {\n -webkit-box-ordinal-group: 3;\n order: 2;\n }\n .order-lg-3 {\n -webkit-box-ordinal-group: 4;\n order: 3;\n }\n .order-lg-4 {\n -webkit-box-ordinal-group: 5;\n order: 4;\n }\n .order-lg-5 {\n -webkit-box-ordinal-group: 6;\n order: 5;\n }\n .order-lg-6 {\n -webkit-box-ordinal-group: 7;\n order: 6;\n }\n .order-lg-7 {\n -webkit-box-ordinal-group: 8;\n order: 7;\n }\n .order-lg-8 {\n -webkit-box-ordinal-group: 9;\n order: 8;\n }\n .order-lg-9 {\n -webkit-box-ordinal-group: 10;\n order: 9;\n }\n .order-lg-10 {\n -webkit-box-ordinal-group: 11;\n order: 10;\n }\n .order-lg-11 {\n -webkit-box-ordinal-group: 12;\n order: 11;\n }\n .order-lg-12 {\n -webkit-box-ordinal-group: 13;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n -webkit-box-flex: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n -webkit-box-flex: 0;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n -webkit-box-flex: 0;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n -webkit-box-flex: 0;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n -webkit-box-flex: 0;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n -webkit-box-flex: 0;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n -webkit-box-flex: 0;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n -webkit-box-flex: 0;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n -webkit-box-flex: 0;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -webkit-box-flex: 0;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -webkit-box-flex: 0;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -webkit-box-flex: 0;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -webkit-box-flex: 0;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -webkit-box-flex: 0;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -webkit-box-flex: 0;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -webkit-box-flex: 0;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -webkit-box-flex: 0;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -webkit-box-flex: 0;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -webkit-box-flex: 0;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -webkit-box-flex: 0;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -webkit-box-ordinal-group: 0;\n order: -1;\n }\n .order-xl-last {\n -webkit-box-ordinal-group: 14;\n order: 13;\n }\n .order-xl-0 {\n -webkit-box-ordinal-group: 1;\n order: 0;\n }\n .order-xl-1 {\n -webkit-box-ordinal-group: 2;\n order: 1;\n }\n .order-xl-2 {\n -webkit-box-ordinal-group: 3;\n order: 2;\n }\n .order-xl-3 {\n -webkit-box-ordinal-group: 4;\n order: 3;\n }\n .order-xl-4 {\n -webkit-box-ordinal-group: 5;\n order: 4;\n }\n .order-xl-5 {\n -webkit-box-ordinal-group: 6;\n order: 5;\n }\n .order-xl-6 {\n -webkit-box-ordinal-group: 7;\n order: 6;\n }\n .order-xl-7 {\n -webkit-box-ordinal-group: 8;\n order: 7;\n }\n .order-xl-8 {\n -webkit-box-ordinal-group: 9;\n order: 8;\n }\n .order-xl-9 {\n -webkit-box-ordinal-group: 10;\n order: 9;\n }\n .order-xl-10 {\n -webkit-box-ordinal-group: 11;\n order: 10;\n }\n .order-xl-11 {\n -webkit-box-ordinal-group: 12;\n order: 11;\n }\n .order-xl-12 {\n -webkit-box-ordinal-group: 13;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n.table-dark.table-bordered {\n border: 0;\n}\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n.table-responsive > .table-bordered {\n border: 0;\n}\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n -webkit-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n -webkit-transition: none;\n transition: none;\n }\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n.form-control::-webkit-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n.form-control::-moz-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n.form-control::-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n font-size: 1rem;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\ntextarea.form-control {\n height: auto;\n}\n.form-group {\n margin-bottom: 1rem;\n}\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n.form-row {\n display: -webkit-box;\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n.form-check-label {\n margin-bottom: 0;\n}\n.form-check-inline {\n display: -webkit-inline-box;\n display: inline-flex;\n -webkit-box-align: center;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #28a745;\n}\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n.form-inline {\n display: -webkit-box;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n flex-flow: row wrap;\n -webkit-box-align: center;\n align-items: center;\n}\n.form-inline .form-check {\n width: 100%;\n}\n@media (min-width: 576px) {\n .form-inline label {\n display: -webkit-box;\n display: flex;\n -webkit-box-align: center;\n align-items: center;\n -webkit-box-pack: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: -webkit-box;\n display: flex;\n -webkit-box-flex: 0;\n flex: 0 0 auto;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n flex-flow: row wrap;\n -webkit-box-align: center;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: -webkit-box;\n display: flex;\n -webkit-box-align: center;\n align-items: center;\n -webkit-box-pack: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n -webkit-box-align: center;\n align-items: center;\n -webkit-box-pack: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .btn {\n -webkit-transition: none;\n transition: none;\n }\n}\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none;\n}\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n -webkit-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n .fade {\n -webkit-transition: none;\n transition: none;\n }\n}\n.fade:not(.show) {\n opacity: 0;\n}\n.collapse:not(.show) {\n display: none;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition: height 0.35s ease;\n transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n -webkit-transition: none;\n transition: none;\n }\n}\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n.dropdown-toggle {\n white-space: nowrap;\n}\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n.dropdown-menu.show {\n display: block;\n}\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: -webkit-inline-box;\n display: inline-flex;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n -webkit-box-flex: 1;\n flex: 1 1 auto;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n.btn-toolbar {\n display: -webkit-box;\n display: flex;\n flex-wrap: wrap;\n -webkit-box-pack: start;\n justify-content: flex-start;\n}\n.btn-toolbar .input-group {\n width: auto;\n}\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n.btn-group-vertical {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n flex-direction: column;\n -webkit-box-align: start;\n align-items: flex-start;\n -webkit-box-pack: center;\n justify-content: center;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: -webkit-box;\n display: flex;\n flex-wrap: wrap;\n -webkit-box-align: stretch;\n align-items: stretch;\n width: 100%;\n}\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n -webkit-box-flex: 1;\n flex: 1 1 0%;\n min-width: 0;\n margin-bottom: 0;\n}\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group > .custom-file {\n display: -webkit-box;\n display: flex;\n -webkit-box-align: center;\n align-items: center;\n}\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-prepend,\n.input-group-append {\n display: -webkit-box;\n display: flex;\n}\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n.input-group-prepend {\n margin-right: -1px;\n}\n.input-group-append {\n margin-left: -1px;\n}\n.input-group-text {\n display: -webkit-box;\n display: flex;\n -webkit-box-align: center;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n.custom-control-inline {\n display: -webkit-inline-box;\n display: inline-flex;\n margin-right: 1rem;\n}\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1;\n width: 1rem;\n height: 1.25rem;\n opacity: 0;\n}\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%;\n}\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\");\n}\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n.custom-switch {\n padding-left: 2.25rem;\n}\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;\n -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n -webkit-transition: none;\n transition: none;\n }\n}\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n -webkit-transform: translateX(0.75rem);\n transform: translateX(0.75rem);\n}\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n.custom-select::-ms-expand {\n display: none;\n}\n.custom-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n.custom-file-input[disabled] ~ .custom-file-label,\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n.custom-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.custom-range:focus {\n outline: none;\n}\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -webkit-appearance: none;\n appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n -webkit-transition: none;\n transition: none;\n }\n}\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -moz-appearance: none;\n appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n -webkit-transition: none;\n transition: none;\n }\n}\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n -webkit-transition: none;\n transition: none;\n }\n}\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n -webkit-transition: none;\n transition: none;\n }\n}\n.nav {\n display: -webkit-box;\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n.nav-fill .nav-item {\n -webkit-box-flex: 1;\n flex: 1 1 auto;\n text-align: center;\n}\n.nav-justified .nav-item {\n flex-basis: 0;\n -webkit-box-flex: 1;\n flex-grow: 1;\n text-align: center;\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.navbar {\n position: relative;\n display: -webkit-box;\n display: flex;\n flex-wrap: wrap;\n -webkit-box-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: -webkit-box;\n display: flex;\n flex-wrap: wrap;\n -webkit-box-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n justify-content: space-between;\n}\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-nav {\n display: -webkit-box;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n.navbar-collapse {\n flex-basis: 100%;\n -webkit-box-flex: 1;\n flex-grow: 1;\n -webkit-box-align: center;\n align-items: center;\n}\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n@media (min-width: 576px) {\n .navbar-expand-sm {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n flex-flow: row nowrap;\n -webkit-box-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: -webkit-box !important;\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n flex-flow: row nowrap;\n -webkit-box-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: -webkit-box !important;\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n flex-flow: row nowrap;\n -webkit-box-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: -webkit-box !important;\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n flex-flow: row nowrap;\n -webkit-box-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: -webkit-box !important;\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n.navbar-expand {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n flex-flow: row nowrap;\n -webkit-box-pack: start;\n justify-content: flex-start;\n}\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n.navbar-expand .navbar-nav {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n flex-direction: row;\n}\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n.navbar-expand .navbar-collapse {\n display: -webkit-box !important;\n display: flex !important;\n flex-basis: auto;\n}\n.navbar-expand .navbar-toggler {\n display: none;\n}\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n.card {\n position: relative;\n display: -webkit-box;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n.card-body {\n -webkit-box-flex: 1;\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n.card-title {\n margin-bottom: 0.75rem;\n}\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n.card-text:last-child {\n margin-bottom: 0;\n}\n.card-link:hover {\n text-decoration: none;\n}\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0;\n width: 100%;\n}\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n.card-deck .card {\n margin-bottom: 15px;\n}\n@media (min-width: 576px) {\n .card-deck {\n display: -webkit-box;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n -webkit-box-flex: 1;\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n.card-group > .card {\n margin-bottom: 15px;\n}\n@media (min-width: 576px) {\n .card-group {\n display: -webkit-box;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n flex-flow: row wrap;\n }\n .card-group > .card {\n -webkit-box-flex: 1;\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n@media (min-width: 576px) {\n .card-columns {\n -webkit-column-count: 3;\n -moz-column-count: 3;\n column-count: 3;\n -webkit-column-gap: 1.25rem;\n -moz-column-gap: 1.25rem;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n.accordion > .card {\n overflow: hidden;\n}\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n.breadcrumb {\n display: -webkit-box;\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n.breadcrumb-item.active {\n color: #6c757d;\n}\n.pagination {\n display: -webkit-box;\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .badge {\n -webkit-transition: none;\n transition: none;\n }\n}\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n.alert-heading {\n color: inherit;\n}\n.alert-link {\n font-weight: 700;\n}\n.alert-dismissible {\n padding-right: 4rem;\n}\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n.alert-primary .alert-link {\n color: #002752;\n}\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n.alert-secondary .alert-link {\n color: #202326;\n}\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n.alert-success .alert-link {\n color: #0b2e13;\n}\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n.alert-info hr {\n border-top-color: #abdde5;\n}\n.alert-info .alert-link {\n color: #062c33;\n}\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n.alert-warning .alert-link {\n color: #533f03;\n}\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n.alert-danger .alert-link {\n color: #491217;\n}\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n.alert-light hr {\n border-top-color: #ececf6;\n}\n.alert-light .alert-link {\n color: #686868;\n}\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n.alert-dark .alert-link {\n color: #040505;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n display: -webkit-box;\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n.progress-bar {\n display: -webkit-box;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n flex-direction: column;\n -webkit-box-pack: center;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n -webkit-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n -webkit-transition: none;\n transition: none;\n }\n}\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n.progress-bar-animated {\n -webkit-animation: progress-bar-stripes 1s linear infinite;\n animation: progress-bar-stripes 1s linear infinite;\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n -webkit-animation: none;\n animation: none;\n }\n}\n.media {\n display: -webkit-box;\n display: flex;\n -webkit-box-align: start;\n align-items: flex-start;\n}\n.media-body {\n -webkit-box-flex: 1;\n flex: 1;\n}\n.list-group {\n display: -webkit-box;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n.list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n.list-group-horizontal {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n flex-direction: row;\n}\n.list-group-horizontal .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n.list-group-horizontal .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n.list-group-horizontal .list-group-item.active {\n margin-top: 0;\n}\n.list-group-horizontal .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n.list-group-horizontal .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n.list-group-flush .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n border-radius: 0;\n}\n.list-group-flush .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom-width: 0;\n}\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\na.close.disabled {\n pointer-events: none;\n}\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n.toast.showing {\n opacity: 1;\n}\n.toast.show {\n display: block;\n opacity: 1;\n}\n.toast.hide {\n display: none;\n}\n.toast-header {\n display: -webkit-box;\n display: flex;\n -webkit-box-align: center;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n.toast-body {\n padding: 0.75rem;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n.modal.fade .modal-dialog {\n transition: -webkit-transform 0.3s ease-out;\n -webkit-transition: -webkit-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;\n -webkit-transform: translate(0, -50px);\n transform: translate(0, -50px);\n}\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n -webkit-transition: none;\n transition: none;\n }\n}\n.modal.show .modal-dialog {\n -webkit-transform: none;\n transform: none;\n}\n.modal.modal-static .modal-dialog {\n -webkit-transform: scale(1.02);\n transform: scale(1.02);\n}\n.modal-dialog-scrollable {\n display: -webkit-box;\n display: flex;\n max-height: calc(100% - 1rem);\n}\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n.modal-dialog-centered {\n display: -webkit-box;\n display: flex;\n -webkit-box-align: center;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\";\n}\n.modal-dialog-centered.modal-dialog-scrollable {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n flex-direction: column;\n -webkit-box-pack: center;\n justify-content: center;\n height: 100%;\n}\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n.modal-content {\n position: relative;\n display: -webkit-box;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n.modal-backdrop.fade {\n opacity: 0;\n}\n.modal-backdrop.show {\n opacity: 0.5;\n}\n.modal-header {\n display: -webkit-box;\n display: flex;\n -webkit-box-align: start;\n align-items: flex-start;\n -webkit-box-pack: justify;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n.modal-body {\n position: relative;\n -webkit-box-flex: 1;\n flex: 1 1 auto;\n padding: 1rem;\n}\n.modal-footer {\n display: -webkit-box;\n display: flex;\n flex-wrap: wrap;\n -webkit-box-align: center;\n align-items: center;\n -webkit-box-pack: end;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n.modal-footer > * {\n margin: 0.25rem;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n.tooltip.show {\n opacity: 0.9;\n}\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc(-0.5rem - 1px);\n}\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc(-0.5rem - 1px);\n}\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n.popover-header:empty {\n display: none;\n}\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n.carousel {\n position: relative;\n}\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n transition: -webkit-transform 0.6s ease-in-out;\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n -webkit-transition: none;\n transition: none;\n }\n}\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n}\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n}\n.carousel-fade .carousel-item {\n opacity: 0;\n -webkit-transition-property: opacity;\n transition-property: opacity;\n -webkit-transform: none;\n transform: none;\n}\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n -webkit-transition: opacity 0s 0.6s;\n transition: opacity 0s 0.6s;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n -webkit-transition: none;\n transition: none;\n }\n}\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: -webkit-box;\n display: flex;\n -webkit-box-align: center;\n align-items: center;\n -webkit-box-pack: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n -webkit-transition: opacity 0.15s ease;\n transition: opacity 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n -webkit-transition: none;\n transition: none;\n }\n}\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n.carousel-control-prev {\n left: 0;\n}\n.carousel-control-next {\n right: 0;\n}\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: -webkit-box;\n display: flex;\n -webkit-box-pack: center;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n.carousel-indicators li {\n box-sizing: content-box;\n -webkit-box-flex: 0;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n -webkit-transition: opacity 0.6s ease;\n transition: opacity 0.6s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n -webkit-transition: none;\n transition: none;\n }\n}\n.carousel-indicators .active {\n opacity: 1;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n@-webkit-keyframes spinner-border {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@keyframes spinner-border {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n -webkit-animation: spinner-border .75s linear infinite;\n animation: spinner-border .75s linear infinite;\n}\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n@-webkit-keyframes spinner-grow {\n 0% {\n -webkit-transform: scale(0);\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n@keyframes spinner-grow {\n 0% {\n -webkit-transform: scale(0);\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n -webkit-animation: spinner-grow .75s linear infinite;\n animation: spinner-grow .75s linear infinite;\n}\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n.align-baseline {\n vertical-align: baseline !important;\n}\n.align-top {\n vertical-align: top !important;\n}\n.align-middle {\n vertical-align: middle !important;\n}\n.align-bottom {\n vertical-align: bottom !important;\n}\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n.align-text-top {\n vertical-align: text-top !important;\n}\n.bg-primary {\n background-color: #007bff !important;\n}\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n.bg-secondary {\n background-color: #6c757d !important;\n}\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n.bg-success {\n background-color: #28a745 !important;\n}\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n.bg-info {\n background-color: #17a2b8 !important;\n}\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n.bg-warning {\n background-color: #ffc107 !important;\n}\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n.bg-danger {\n background-color: #dc3545 !important;\n}\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n.bg-light {\n background-color: #f8f9fa !important;\n}\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n.bg-dark {\n background-color: #343a40 !important;\n}\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n.bg-white {\n background-color: #fff !important;\n}\n.bg-transparent {\n background-color: transparent !important;\n}\n.border {\n border: 1px solid #dee2e6 !important;\n}\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n.border-0 {\n border: 0 !important;\n}\n.border-top-0 {\n border-top: 0 !important;\n}\n.border-right-0 {\n border-right: 0 !important;\n}\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n.border-left-0 {\n border-left: 0 !important;\n}\n.border-primary {\n border-color: #007bff !important;\n}\n.border-secondary {\n border-color: #6c757d !important;\n}\n.border-success {\n border-color: #28a745 !important;\n}\n.border-info {\n border-color: #17a2b8 !important;\n}\n.border-warning {\n border-color: #ffc107 !important;\n}\n.border-danger {\n border-color: #dc3545 !important;\n}\n.border-light {\n border-color: #f8f9fa !important;\n}\n.border-dark {\n border-color: #343a40 !important;\n}\n.border-white {\n border-color: #fff !important;\n}\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n.rounded {\n border-radius: 0.25rem !important;\n}\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n.rounded-circle {\n border-radius: 50% !important;\n}\n.rounded-pill {\n border-radius: 50rem !important;\n}\n.rounded-0 {\n border-radius: 0 !important;\n}\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n.d-none {\n display: none !important;\n}\n.d-inline {\n display: inline !important;\n}\n.d-inline-block {\n display: inline-block !important;\n}\n.d-block {\n display: block !important;\n}\n.d-table {\n display: table !important;\n}\n.d-table-row {\n display: table-row !important;\n}\n.d-table-cell {\n display: table-cell !important;\n}\n.d-flex {\n display: -webkit-box !important;\n display: flex !important;\n}\n.d-inline-flex {\n display: -webkit-inline-box !important;\n display: inline-flex !important;\n}\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -webkit-box !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -webkit-inline-box !important;\n display: inline-flex !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -webkit-box !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -webkit-inline-box !important;\n display: inline-flex !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -webkit-box !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -webkit-inline-box !important;\n display: inline-flex !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -webkit-box !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -webkit-inline-box !important;\n display: inline-flex !important;\n }\n}\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -webkit-box !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -webkit-inline-box !important;\n display: inline-flex !important;\n }\n}\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n.flex-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n flex-direction: row !important;\n}\n.flex-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n flex-direction: column !important;\n}\n.flex-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n flex-direction: row-reverse !important;\n}\n.flex-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n flex-direction: column-reverse !important;\n}\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n.flex-fill {\n -webkit-box-flex: 1 !important;\n flex: 1 1 auto !important;\n}\n.flex-grow-0 {\n -webkit-box-flex: 0 !important;\n flex-grow: 0 !important;\n}\n.flex-grow-1 {\n -webkit-box-flex: 1 !important;\n flex-grow: 1 !important;\n}\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n.justify-content-start {\n -webkit-box-pack: start !important;\n justify-content: flex-start !important;\n}\n.justify-content-end {\n -webkit-box-pack: end !important;\n justify-content: flex-end !important;\n}\n.justify-content-center {\n -webkit-box-pack: center !important;\n justify-content: center !important;\n}\n.justify-content-between {\n -webkit-box-pack: justify !important;\n justify-content: space-between !important;\n}\n.justify-content-around {\n justify-content: space-around !important;\n}\n.align-items-start {\n -webkit-box-align: start !important;\n align-items: flex-start !important;\n}\n.align-items-end {\n -webkit-box-align: end !important;\n align-items: flex-end !important;\n}\n.align-items-center {\n -webkit-box-align: center !important;\n align-items: center !important;\n}\n.align-items-baseline {\n -webkit-box-align: baseline !important;\n align-items: baseline !important;\n}\n.align-items-stretch {\n -webkit-box-align: stretch !important;\n align-items: stretch !important;\n}\n.align-content-start {\n align-content: flex-start !important;\n}\n.align-content-end {\n align-content: flex-end !important;\n}\n.align-content-center {\n align-content: center !important;\n}\n.align-content-between {\n align-content: space-between !important;\n}\n.align-content-around {\n align-content: space-around !important;\n}\n.align-content-stretch {\n align-content: stretch !important;\n}\n.align-self-auto {\n align-self: auto !important;\n}\n.align-self-start {\n align-self: flex-start !important;\n}\n.align-self-end {\n align-self: flex-end !important;\n}\n.align-self-center {\n align-self: center !important;\n}\n.align-self-baseline {\n align-self: baseline !important;\n}\n.align-self-stretch {\n align-self: stretch !important;\n}\n@media (min-width: 576px) {\n .flex-sm-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -webkit-box-flex: 1 !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -webkit-box-flex: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -webkit-box-flex: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -webkit-box-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -webkit-box-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -webkit-box-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -webkit-box-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -webkit-box-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -webkit-box-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -webkit-box-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -webkit-box-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -webkit-box-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n@media (min-width: 768px) {\n .flex-md-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -webkit-box-flex: 1 !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -webkit-box-flex: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -webkit-box-flex: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -webkit-box-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -webkit-box-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -webkit-box-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -webkit-box-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -webkit-box-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -webkit-box-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -webkit-box-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -webkit-box-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -webkit-box-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n@media (min-width: 992px) {\n .flex-lg-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -webkit-box-flex: 1 !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -webkit-box-flex: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -webkit-box-flex: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -webkit-box-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -webkit-box-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -webkit-box-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -webkit-box-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -webkit-box-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -webkit-box-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -webkit-box-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -webkit-box-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -webkit-box-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n@media (min-width: 1200px) {\n .flex-xl-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -webkit-box-flex: 1 !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -webkit-box-flex: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -webkit-box-flex: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -webkit-box-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -webkit-box-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -webkit-box-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -webkit-box-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -webkit-box-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -webkit-box-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -webkit-box-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -webkit-box-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -webkit-box-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n.float-left {\n float: left !important;\n}\n.float-right {\n float: right !important;\n}\n.float-none {\n float: none !important;\n}\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n.overflow-auto {\n overflow: auto !important;\n}\n.overflow-hidden {\n overflow: hidden !important;\n}\n.position-static {\n position: static !important;\n}\n.position-relative {\n position: relative !important;\n}\n.position-absolute {\n position: absolute !important;\n}\n.position-fixed {\n position: fixed !important;\n}\n.position-sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n}\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .sticky-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n.shadow-none {\n box-shadow: none !important;\n}\n.w-25 {\n width: 25% !important;\n}\n.w-50 {\n width: 50% !important;\n}\n.w-75 {\n width: 75% !important;\n}\n.w-100 {\n width: 100% !important;\n}\n.w-auto {\n width: auto !important;\n}\n.h-25 {\n height: 25% !important;\n}\n.h-50 {\n height: 50% !important;\n}\n.h-75 {\n height: 75% !important;\n}\n.h-100 {\n height: 100% !important;\n}\n.h-auto {\n height: auto !important;\n}\n.mw-100 {\n max-width: 100% !important;\n}\n.mh-100 {\n max-height: 100% !important;\n}\n.min-vw-100 {\n min-width: 100vw !important;\n}\n.min-vh-100 {\n min-height: 100vh !important;\n}\n.vw-100 {\n width: 100vw !important;\n}\n.vh-100 {\n height: 100vh !important;\n}\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n.m-0 {\n margin: 0 !important;\n}\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n.m-1 {\n margin: 0.25rem !important;\n}\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n.m-2 {\n margin: 0.5rem !important;\n}\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n.m-3 {\n margin: 1rem !important;\n}\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n.m-4 {\n margin: 1.5rem !important;\n}\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n.m-5 {\n margin: 3rem !important;\n}\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n.p-0 {\n padding: 0 !important;\n}\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n.p-1 {\n padding: 0.25rem !important;\n}\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n.p-2 {\n padding: 0.5rem !important;\n}\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n.p-3 {\n padding: 1rem !important;\n}\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n.p-4 {\n padding: 1.5rem !important;\n}\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n.p-5 {\n padding: 3rem !important;\n}\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n.m-n1 {\n margin: -0.25rem !important;\n}\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n.m-n2 {\n margin: -0.5rem !important;\n}\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n.m-n3 {\n margin: -1rem !important;\n}\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n.m-n4 {\n margin: -1.5rem !important;\n}\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n.m-n5 {\n margin: -3rem !important;\n}\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n.m-auto {\n margin: auto !important;\n}\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n.text-justify {\n text-align: justify !important;\n}\n.text-wrap {\n white-space: normal !important;\n}\n.text-nowrap {\n white-space: nowrap !important;\n}\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.text-left {\n text-align: left !important;\n}\n.text-right {\n text-align: right !important;\n}\n.text-center {\n text-align: center !important;\n}\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n.text-lowercase {\n text-transform: lowercase !important;\n}\n.text-uppercase {\n text-transform: uppercase !important;\n}\n.text-capitalize {\n text-transform: capitalize !important;\n}\n.font-weight-light {\n font-weight: 300 !important;\n}\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n.font-weight-normal {\n font-weight: 400 !important;\n}\n.font-weight-bold {\n font-weight: 700 !important;\n}\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n.font-italic {\n font-style: italic !important;\n}\n.text-white {\n color: #fff !important;\n}\n.text-primary {\n color: #007bff !important;\n}\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n.text-secondary {\n color: #6c757d !important;\n}\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n.text-success {\n color: #28a745 !important;\n}\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n.text-info {\n color: #17a2b8 !important;\n}\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n.text-warning {\n color: #ffc107 !important;\n}\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n.text-danger {\n color: #dc3545 !important;\n}\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n.text-light {\n color: #f8f9fa !important;\n}\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n.text-dark {\n color: #343a40 !important;\n}\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n.text-body {\n color: #212529 !important;\n}\n.text-muted {\n color: #6c757d !important;\n}\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.text-decoration-none {\n text-decoration: none !important;\n}\n.text-break {\n word-break: break-word !important;\n overflow-wrap: break-word !important;\n}\n.text-reset {\n color: inherit !important;\n}\n.visible {\n visibility: visible !important;\n}\n.invisible {\n visibility: hidden !important;\n}\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9ib290c3RyYXAuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvZGlzdC9jc3MvYm9vdHN0cmFwLmNzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcm9vdC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY29kZS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZnVuY3Rpb25zLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Zvcm1zLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b24tZ3JvdXAuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW5wdXQtZ3JvdXAuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY3VzdG9tLWZvcm1zLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdi5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXZiYXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2FyZC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19icmVhZGNydW1iLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BhZ2luYXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYmFkZ2Uuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2p1bWJvdHJvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19hbGVydC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWVkaWEuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9vbHRpcC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wb3BvdmVyLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Nhcm91c2VsLnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19zcGlubmVycy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYWxpZ24uc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYmFja2dyb3VuZC5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZGlzcGxheS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZW1iZWQuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCJub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19vdmVyZmxvdy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NjcmVlbnJlYWRlcnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NoYWRvd3Muc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NpemluZy5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3RyZXRjaGVkLWxpbmsuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3NwYWNpbmcuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3RleHQuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIm5vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdmlzaWJpbGl0eS5zY3NzIiwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcmludC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztFQ0tFO0FDSkY7RUFHSSxlQUFjO0VBQWQsaUJBQWM7RUFBZCxpQkFBYztFQUFkLGVBQWM7RUFBZCxjQUFjO0VBQWQsaUJBQWM7RUFBZCxpQkFBYztFQUFkLGdCQUFjO0VBQWQsZUFBYztFQUFkLGVBQWM7RUFBZCxhQUFjO0VBQWQsZUFBYztFQUFkLG9CQUFjO0VBSWQsa0JBQWM7RUFBZCxvQkFBYztFQUFkLGtCQUFjO0VBQWQsZUFBYztFQUFkLGtCQUFjO0VBQWQsaUJBQWM7RUFBZCxnQkFBYztFQUFkLGVBQWM7RUFJZCxrQkFBaUM7RUFBakMsc0JBQWlDO0VBQWpDLHNCQUFpQztFQUFqQyxzQkFBaUM7RUFBakMsdUJBQWlDO0VBS25DLCtNQUF5QjtFQUN6Qiw2R0FBd0I7QURpQjFCO0FFakJBOzs7RUFHRSxzQkFBc0I7QUZvQnhCO0FFakJBO0VBQ0UsdUJBQXVCO0VBQ3ZCLGlCQUFpQjtFQUNqQiw4QkFBOEI7RUFDOUIsNkNDWGE7QUgrQmY7QUVkQTtFQUNFLGNBQWM7QUZpQmhCO0FFUEE7RUFDRSxTQUFTO0VBQ1Qsa01DeU9pTjtFQ3pKN00sZUF0Q1k7RUZ4Q2hCLGdCQ2tQK0I7RURqUC9CLGdCQ3NQK0I7RURyUC9CLGNDbkNnQjtFRG9DaEIsZ0JBQWdCO0VBQ2hCLHNCQzlDYTtBSHdEZjtBQUVBO0VF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QWE7RUFDYiwwQkFBMEI7QUZ6SDVCO0FFZ0lBO0VBQ0UscUJBQXFCO0FGN0h2QjtBRWdJQTtFQUNFLGtCQUFrQjtFQUNsQixlQUFlO0FGN0hqQjtBRWdJQTtFQUNFLGFBQWE7QUY3SGY7QUFFQTtFRWlJRSx3QkFBd0I7QUYvSDFCO0FNM1ZBOztFQUVFLHFCSHlTdUM7RUd2U3ZDLGdCSHlTK0I7RUd4Uy9CLGdCSHlTK0I7QUhvRGpDO0FNelZBO0VGZ0hNLGlCQXRDWTtBSm1SbEI7QU01VkE7RUYrR00sZUF0Q1k7QUp1UmxCO0FNL1ZBO0VGOEdNLGtCQXRDWTtBSjJSbEI7QU1sV0E7RUY2R00saUJBdENZO0FKK1JsQjtBTXJXQTtFRjRHTSxrQkF0Q1k7QUptU2xCO0FNeFdBO0VGMkdNLGVBdENZO0FKdVNsQjtBTTFXQTtFRnlHTSxrQkF0Q1k7RUVqRWhCLGdCSDJTK0I7QUhrRWpDO0FNeldBO0VGbUdNLGVBdENZO0VFM0RoQixnQkg4UitCO0VHN1IvQixnQkhxUitCO0FIdUZqQztBTTFXQTtFRjhGTSxpQkF0Q1k7RUV0RGhCLGdCSDBSK0I7RUd6Ui9CLGdCSGdSK0I7QUg2RmpDO0FNM1dBO0VGeUZNLGlCQXRDWTtFRWpEaEIsZ0JIc1IrQjtFR3JSL0IsZ0JIMlErQjtBSG1HakM7QU01V0E7RUZvRk0saUJBdENZO0VFNUNoQixnQkhrUitCO0VHalIvQixnQkhzUStCO0FIeUdqQztBRWxWQTtFSXBCRSxnQkhpRlc7RUdoRlgsbUJIZ0ZXO0VHL0VYLFNBQVM7RUFDVCx3Q0h6Q2E7QUhtWmY7QU1sV0E7O0VGTUksY0FBVztFRUhiLGdCSDhOK0I7QUh1SWpDO0FNbFdBOztFQUVFLGNIc1FnQztFR3JRaEMseUJIOFFtQztBSHVGckM7QU03VkE7RUMvRUUsZUFBZTtFQUNmLGdCQUFnQjtBUGdibEI7QU03VkE7RUNwRkUsZUFBZTtFQUNmLGdCQUFnQjtBUHFibEI7QU0vVkE7RUFDRSxxQkFBcUI7QU5rV3ZCO0FNbldBO0VBSUksb0JId1ArQjtBSDJHbkM7QU16VkE7RUZqQ0ksY0FBVztFRW1DYix5QkFBeUI7QU40VjNCO0FNeFZBO0VBQ0UsbUJId0JXO0VDVFAsa0JBdENZO0FKbVhsQjtBTXhWQTtFQUNFLGNBQWM7RUY3Q1osY0FBVztFRStDYixjSDFHZ0I7QUhxY2xCO0FNOVZBO0VBTUkscUJBQXFCO0FONFZ6QjtBUS9jQTtFQ0lFLGVBQWU7RUFHZixZQUFZO0FUNmNkO0FROWNBO0VBQ0UsZ0JMaWdDd0M7RUtoZ0N4QyxzQkxSYTtFS1NiLHlCTE5nQjtFT0xkLHNCUDZPZ0M7RU12T2xDLGVBQWU7RUFHZixZQUFZO0FUc2RkO0FReGNBO0VBRUUscUJBQXFCO0FSMGN2QjtBUXZjQTtFQUNFLHFCQUEwQjtFQUMxQixjQUFjO0FSMGNoQjtBUXZjQTtFSmtDSSxjQUFXO0VJaENiLGNMM0JnQjtBSHFlbEI7QVdqZkE7RVB1RUksZ0JBQVc7RU9yRWIsY1JvQ2U7RVFuQ2YscUJBQXFCO0FYb2Z2QjtBV2pmRTtFQUNFLGNBQWM7QVhvZmxCO0FXL2VBO0VBQ0Usc0JScWxDdUM7RUMzaENyQyxnQkFBVztFT3hEYixXUlRhO0VRVWIseUJSRGdCO0VPWGQscUJQK08rQjtBSGdSbkM7QVd2ZkE7RUFTSSxVQUFVO0VQa0RWLGVBQVc7RU9oRFgsZ0JSNFE2QjtBSHNPakM7QUUxU0E7RVNqTUUsY0FBYztFUHlDWixnQkFBVztFT3ZDYixjUmpCZ0I7QUhnZ0JsQjtBV2xmQTtFUDBDSSxrQkFBVztFT2xDWCxjQUFjO0VBQ2Qsa0JBQWtCO0FYK2V0QjtBVzFlQTtFQUNFLGlCUjRqQ3VDO0VRM2pDdkMsa0JBQWtCO0FYNmVwQjtBWXJoQkU7RUNEQSxXQUFXO0VBQ1gsbUJBQTBCO0VBQzFCLGtCQUF5QjtFQUN6QixrQkFBa0I7RUFDbEIsaUJBQWlCO0FiMGhCbkI7QWN2ZUk7RUZ0REY7SUNXSSxnQlZxTUs7RUhrVlQ7QUFDRjtBYzdlSTtFRnRERjtJQ1dJLGdCVnNNSztFSHVWVDtBQUNGO0FjbmZJO0VGdERGO0lDV0ksZ0JWdU1LO0VINFZUO0FBQ0Y7QWN6Zkk7RUZ0REY7SUNXSSxpQlZ3TU07RUhpV1Y7QUFDRjtBWS9pQkU7RUNQQSxXQUFXO0VBQ1gsbUJBQTBCO0VBQzFCLGtCQUF5QjtFQUN6QixrQkFBa0I7RUFDbEIsaUJBQWlCO0FiMGpCbkI7QWN2Z0JJO0VGckNFO0lBQ0UsZ0JUOExHO0VIa1hUO0FBQ0Y7QWM3Z0JJO0VGckNFO0lBQ0UsZ0JUK0xHO0VIdVhUO0FBQ0Y7QWNuaEJJO0VGckNFO0lBQ0UsZ0JUZ01HO0VINFhUO0FBQ0Y7QWN6aEJJO0VGckNFO0lBQ0UsaUJUaU1JO0VIaVlWO0FBQ0Y7QVkvaUJFO0VDckJBLG9CQUFhO0VBQWIsYUFBYTtFQUNiLGVBQWU7RUFDZixtQkFBMEI7RUFDMUIsa0JBQXlCO0Fid2tCM0I7QVloakJFO0VBQ0UsZUFBZTtFQUNmLGNBQWM7QVptakJsQjtBWXJqQkU7O0VBTUksZ0JBQWdCO0VBQ2hCLGVBQWU7QVpvakJyQjtBZXRtQkU7Ozs7OztFQUNFLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsbUJBQTBCO0VBQzFCLGtCQUF5QjtBZjhtQjdCO0FlM2xCTTtFQUNFLGFBQWE7RUFDYixtQkFBWTtVQUFaLFlBQVk7RUFDWixlQUFlO0FmOGxCdkI7QWUxbEJRO0VGNEJKLG1CQUF1QjtVQUF2QixjQUF1QjtFQUN2QixlQUF3QjtBYmtrQjVCO0FlL2xCUTtFRjRCSixtQkFBdUI7VUFBdkIsYUFBdUI7RUFDdkIsY0FBd0I7QWJ1a0I1QjtBZXBtQlE7RUY0QkosbUJBQXVCO1VBQXZCLG9CQUF1QjtFQUN2QixxQkFBd0I7QWI0a0I1QjtBZXptQlE7RUY0QkosbUJBQXVCO1VBQXZCLGFBQXVCO0VBQ3ZCLGNBQXdCO0FiaWxCNUI7QWU5bUJRO0VGNEJKLG1CQUF1QjtVQUF2QixhQUF1QjtFQUN2QixjQUF3QjtBYnNsQjVCO0Flbm5CUTtFRjRCSixtQkFBdUI7VUFBdkIsb0JBQXVCO0VBQ3ZCLHFCQUF3QjtBYjJsQjVCO0Flbm5CTTtFRk1KLG1CQUFjO1VBQWQsY0FBYztFQUNkLFdBQVc7RUFDWCxlQUFlO0FiaW5CakI7QWVwbkJRO0VGUE4sbUJBQXNDO1VBQXRDLG1CQUFzQztFQUl0QyxvQkFBdUM7QWI0bkJ6QztBZXpuQlE7RUZQTixtQkFBc0M7VUFBdEMsb0JBQXNDO0VBSXRDLHFCQUF1QztBYmlvQnpDO0FlOW5CUTtFRlBOLG1CQUFzQztVQUF0QyxhQUFzQztFQUl0QyxjQUF1QztBYnNvQnpDO0Flbm9CUTtFRlBOLG1CQUFzQztVQUF0QyxvQkFBc0M7RUFJdEMscUJBQXVDO0FiMm9CekM7QWV4b0JRO0VGUE4sbUJBQXNDO1VBQXRDLG9CQUFzQztFQUl0QyxxQkFBdUM7QWJncEJ6QztBZTdvQlE7RUZQTixtQkFBc0M7VUFBdEMsYUFBc0M7RUFJdEMsY0FBdUM7QWJxcEJ6QztBZWxwQlE7RUZQTixtQkFBc0M7VUFBdEMsb0JBQXNDO0VBSXRDLHFCQUF1QztBYjBwQnpDO0FldnBCUTtFRlBOLG1CQUFzQztVQUF0QyxvQkFBc0M7RUFJdEMscUJBQXVDO0FiK3BCekM7QWU1cEJRO0VGUE4sbUJBQXNDO1VBQXRDLGFBQXNDO0VBSXRDLGNBQXVDO0Fib3FCekM7QWVqcUJRO0VGUE4sbUJBQXNDO1VBQXRDLG9CQUFzQztFQUl0QyxxQkFBdUM7QWJ5cUJ6QztBZXRxQlE7RUZQTixtQkFBc0M7VUFBdEMsb0JBQXNDO0VBSXRDLHFCQUF1QztBYjhxQnpDO0FlM3FCUTtFRlBOLG1CQUFzQztVQUF0QyxjQUFzQztFQUl0QyxlQUF1QztBYm1yQnpDO0FlM3FCTTtFQUF3Qiw0QkFBUztVQUFULFNBQVM7QWYrcUJ2QztBZTdxQk07RUFBdUIsNkJaNktHO1VZN0tILFNaNktHO0FIb2dCaEM7QWU5cUJRO0VBQXdCLDRCQURaO1VBQ1ksUUFEWjtBZm1yQnBCO0FlbHJCUTtFQUF3Qiw0QkFEWjtVQUNZLFFBRFo7QWZ1ckJwQjtBZXRyQlE7RUFBd0IsNEJBRFo7VUFDWSxRQURaO0FmMnJCcEI7QWUxckJRO0VBQXdCLDRCQURaO1VBQ1ksUUFEWjtBZityQnBCO0FlOXJCUTtFQUF3Qiw0QkFEWjtVQUNZLFFBRFo7QWZtc0JwQjtBZWxzQlE7RUFBd0IsNEJBRFo7VUFDWSxRQURaO0FmdXNCcEI7QWV0c0JRO0VBQXdCLDRCQURaO1VBQ1ksUUFEWjtBZjJzQnBCO0FlMXNCUTtFQUF3Qiw0QkFEWjtVQUNZLFFBRFo7QWYrc0JwQjtBZTlzQlE7RUFBd0IsNEJBRFo7VUFDWSxRQURaO0FmbXRCcEI7QWVsdEJRO0VBQXdCLDZCQURaO1VBQ1ksUUFEWjtBZnV0QnBCO0FldHRCUTtFQUF3Qiw2QkFEWjtVQUNZLFNBRFo7QWYydEJwQjtBZTF0QlE7RUFBd0IsNkJBRFo7VUFDWSxTQURaO0FmK3RCcEI7QWU5dEJRO0VBQXdCLDZCQURaO1VBQ1ksU0FEWjtBZm11QnBCO0FlNXRCVTtFRlJSLHNCQUE4QztBYnd1QmhEO0FlaHVCVTtFRlJSLHVCQUE4QztBYjR1QmhEO0FlcHVCVTtFRlJSLGdCQUE4QztBYmd2QmhEO0FleHVCVTtFRlJSLHVCQUE4QztBYm92QmhEO0FlNXVCVTtFRlJSLHVCQUE4QztBYnd2QmhEO0FlaHZCVTtFRlJSLGdCQUE4QztBYjR2QmhEO0FlcHZCVTtFRlJSLHVCQUE4QztBYmd3QmhEO0FleHZCVTtFRlJSLHVCQUE4QztBYm93QmhEO0FlNXZCVTtFRlJSLGdCQUE4QztBYnd3QmhEO0FlaHdCVTtFRlJSLHVCQUE4QztBYjR3QmhEO0FlcHdCVTtFRlJSLHVCQUE4QztBYmd4QmhEO0FjM3dCSTtFQzlCRTtJQUNFLGFBQWE7SUFDYixtQkFBWTtZQUFaLFlBQVk7SUFDWixlQUFlO0VmNnlCckI7RWV6eUJNO0lGNEJKLG1CQUF1QjtZQUF2QixjQUF1QjtJQUN2QixlQUF3QjtFYmd4QjFCO0VlN3lCTTtJRjRCSixtQkFBdUI7WUFBdkIsYUFBdUI7SUFDdkIsY0FBd0I7RWJveEIxQjtFZWp6Qk07SUY0QkosbUJBQXVCO1lBQXZCLG9CQUF1QjtJQUN2QixxQkFBd0I7RWJ3eEIxQjtFZXJ6Qk07SUY0QkosbUJBQXVCO1lBQXZCLGFBQXVCO0lBQ3ZCLGNBQXdCO0ViNHhCMUI7RWV6ekJNO0lGNEJKLG1CQUF1QjtZQUF2QixhQUF1QjtJQUN2QixjQUF3QjtFYmd5QjFCO0VlN3pCTTtJRjRCSixtQkFBdUI7WUFBdkIsb0JBQXVCO0lBQ3ZCLHFCQUF3QjtFYm95QjFCO0VlNXpCSTtJRk1KLG1CQUFjO1lBQWQsY0FBYztJQUNkLFdBQVc7SUFDWCxlQUFlO0VieXpCZjtFZTV6Qk07SUZQTixtQkFBc0M7WUFBdEMsbUJBQXNDO0lBSXRDLG9CQUF1QztFYm0wQnZDO0VlaDBCTTtJRlBOLG1CQUFzQztZQUF0QyxvQkFBc0M7SUFJdEMscUJBQXVDO0VidTBCdkM7RWVwMEJNO0lGUE4sbUJBQXNDO1lBQXRDLGFBQXNDO0lBSXRDLGNBQXVDO0ViMjBCdkM7RWV4MEJNO0lGUE4sbUJBQXNDO1lBQXRDLG9CQUFzQztJQUl0QyxxQkFBdUM7RWIrMEJ2QztFZTUwQk07SUZQTixtQkFBc0M7WUFBdEMsb0JBQXNDO0lBSXRDLHFCQUF1QztFYm0xQnZDO0VlaDFCTTtJRlBOLG1CQUFzQztZQUF0QyxhQUFzQztJQUl0QyxjQUF1QztFYnUxQnZDO0VlcDFCTTtJRlBOLG1CQUFzQztZQUF0QyxvQkFBc0M7SUFJdEMscUJBQXVDO0ViMjFCdkM7RWV4MUJNO0lGUE4sbUJBQXNDO1lBQXRDLG9CQUFzQztJQUl0QyxxQkFBdUM7RWIrMUJ2QztFZTUxQk07SUZQTixtQkFBc0M7WUFBdEMsYUFBc0M7SUFJdEMsY0FBdUM7RWJtMkJ2QztFZWgyQk07SUZQTixtQkFBc0M7WUFBdEMsb0JBQXNDO0lBSXRDLHFCQUF1QztFYnUyQnZDO0VlcDJCTTtJRlBOLG1CQUFzQztZQUF0QyxvQkFBc0M7SUFJdEMscUJBQXVDO0ViMjJCdkM7RWV4MkJNO0lGUE4sbUJBQXNDO1lBQXRDLGNBQXNDO0lBSXRDLGVBQXVDO0ViKzJCdkM7RWV2MkJJO0lBQXdCLDRCQUFTO1lBQVQsU0FBUztFZjAyQnJDO0VleDJCSTtJQUF1Qiw2Qlo2S0c7WVk3S0gsU1o2S0c7RUg4ckI5QjtFZXgyQk07SUFBd0IsNEJBRFo7WUFDWSxRQURaO0VmNDJCbEI7RWUzMkJNO0lBQXdCLDRCQURaO1lBQ1ksUUFEWjtFZisyQmxCO0VlOTJCTTtJQUF3Qiw0QkFEWjtZQUNZLFFBRFo7RWZrM0JsQjtFZWozQk07SUFBd0IsNEJBRFo7WUFDWSxRQURaO0VmcTNCbEI7RWVwM0JNO0lBQXdCLDRCQURaO1lBQ1ksUUFEWjtFZnczQmxCO0VldjNCTTtJQUF3Qiw0QkFEWjtZQUNZLFFBRFo7RWYyM0JsQjtFZTEzQk07SUFBd0IsNEJBRFo7WUFDWSxRQURaO0VmODNCbEI7RWU3M0JNO0lBQXdCLDRCQURaO1lBQ1ksUUFEWjtFZmk0QmxCO0VlaDRCTTtJQUF3Qiw0QkFEWjtZQUNZLFFBRFo7RWZvNEJsQjtFZW40Qk07SUFBd0IsNkJBRFo7WUFDWSxRQURaO0VmdTRCbEI7RWV0NEJNO0lBQXdCLDZCQURaO1lBQ1ksU0FEWjtFZjA0QmxCO0VlejRCTTtJQUF3Qiw2QkFEWjtZQUNZLFNBRFo7RWY2NEJsQjtFZTU0Qk07SUFBd0IsNkJBRFo7WUFDWSxTQURaO0VmZzVCbEI7RWV6NEJRO0lGUlIsY0FBNEI7RWJvNUI1QjtFZTU0QlE7SUZSUixzQkFBOEM7RWJ1NUI5QztFZS80QlE7SUZSUix1QkFBOEM7RWIwNUI5QztFZWw1QlE7SUZSUixnQkFBOEM7RWI2NUI5QztFZXI1QlE7SUZSUix1QkFBOEM7RWJnNkI5QztFZXg1QlE7SUZSUix1QkFBOEM7RWJtNkI5QztFZTM1QlE7SUZSUixnQkFBOEM7RWJzNkI5QztFZTk1QlE7SUZSUix1QkFBOEM7RWJ5NkI5QztFZWo2QlE7SUZSUix1QkFBOEM7RWI0NkI5QztFZXA2QlE7SUZSUixnQkFBOEM7RWIrNkI5QztFZXY2QlE7SUZSUix1QkFBOEM7RWJrN0I5QztFZTE2QlE7SUZSUix1QkFBOEM7RWJxN0I5QztBQUNGO0FjajdCSTtFQzlCRTtJQUNFLGFBQWE7SUFDYixtQkFBWTtZQUFaLFlBQVk7SUFDWixlQUFlO0VmbTlCckI7RWUvOEJNO0lGNEJKLG1CQUF1QjtZQUF2QixjQUF1QjtJQUN2QixlQUF3QjtFYnM3QjFCO0VlbjlCTTtJRjRCSixtQkFBdUI7WUFBdkIsYUFBdUI7SUFDdkIsY0FBd0I7RWIwN0IxQjtFZXY5Qk07SUY0QkosbUJBQXVCO1lBQXZCLG9CQUF1QjtJQUN2QixxQkFBd0I7RWI4N0IxQjtFZTM5Qk07SUY0QkosbUJBQXVCO1lBQXZCLGFBQXVCO0lBQ3ZCLGNBQXdCO0ViazhCMUI7RWUvOUJNO0lGNEJKLG1CQUF1QjtZQUF2QixhQUF1QjtJQUN2QixjQUF3QjtFYnM4QjFCO0VlbitCTTtJRjRCSixtQkFBdUI7WUFBdkIsb0JBQXVCO0lBQ3ZCLHFCQUF3QjtFYjA4QjFCO0VlbCtCSTtJRk1KLG1CQUFjO1lBQWQsY0FBYztJQUNkLFdBQVc7SUFDWCxlQUFlO0ViKzlCZjtFZWwrQk07SUZQTixtQkFBc0M7WUFBdEMsbUJBQXNDO0lBSXRDLG9CQUF1QztFYnkrQnZDO0VldCtCTTtJRlBOLG1CQUFzQztZQUF0QyxvQkFBc0M7SUFJdEMscUJBQXVDO0ViNitCdkM7RWUxK0JNO0lGUE4sbUJBQXNDO1lBQXRDLGFBQXNDO0lBSXRDLGNBQXVDO0ViaS9CdkM7RWU5K0JNO0lGUE4sbUJBQXNDO1lBQXRDLG9CQUFzQztJQUl0QyxxQkFBdUM7RWJxL0J2QztFZWwvQk07SUZQTixtQkFBc0M7WUFBdEMsb0JBQXNDO0lBSXRDLHFCQUF1QztFYnkvQnZDO0VldC9CTTtJRlBOLG1CQUFzQztZQUF0QyxhQUFzQztJQUl0QyxjQUF1QztFYjYvQnZDO0VlMS9CTTtJRlBOLG1CQUFzQztZQUF0QyxvQkFBc0M7SUFJdEMscUJBQXVDO0ViaWdDdkM7RWU5L0JNO0lGUE4sbUJBQXNDO1lBQXRDLG9CQUFzQztJQUl0QyxxQkFBdUM7RWJxZ0N2QztFZWxnQ007SUZQTixtQkFBc0M7WUFBdEMsYUFBc0M7SUFJdEMsY0FBdUM7RWJ5Z0N2QztFZXRnQ007SUZQTixtQkFBc0M7WUFBdEMsb0JBQXNDO0lBSXRDLHFCQUF1QztFYjZnQ3ZDO0VlMWdDTTtJRlBOLG1CQUFzQztZQUF0QyxvQkFBc0M7SUFJdEMscUJBQXVDO0ViaWhDdkM7RWU5Z0NNO0lGUE4sbUJBQXNDO1lBQXRDLGNBQXNDO0lBSXRDLGVBQXVDO0VicWhDdkM7RWU3Z0NJO0lBQXdCLDRCQUFTO1lBQVQsU0FBUztFZmdoQ3JDO0VlOWdDSTtJQUF1Qiw2Qlo2S0c7WVk3S0gsU1o2S0c7RUhvMkI5QjtFZTlnQ007SUFBd0IsNEJBRFo7WUFDWSxRQURaO0Vma2hDbEI7RWVqaENNO0lBQXdCLDRCQURaO1lBQ1ksUUFEWjtFZnFoQ2xCO0VlcGhDTTtJQUF3Qiw0QkFEWjtZQUNZLFFBRFo7RWZ3aENsQjtFZXZoQ007SUFBd0IsNEJBRFo7WUFDWSxRQURaO0VmMmhDbEI7RWUxaENNO0lBQXdCLDRCQURaO1lBQ1ksUUFEWjtFZjhoQ2xCO0VlN2hDTTtJQUF3Qiw0QkFEWjtZQUNZLFFBRFo7RWZpaUNsQjtFZWhpQ007SUFBd0IsNEJBRFo7WUFDWSxRQURaO0Vmb2lDbEI7RWVuaUNNO0lBQXdCLDRCQURaO1lBQ1ksUUFEWjtFZnVpQ2xCO0VldGlDTTtJQUF3Qiw0QkFEWjtZQUNZLFFBRFo7RWYwaUNsQjtFZXppQ007SUFBd0IsNkJBRFo7WUFDWSxRQURaO0VmNmlDbEI7RWU1aUNNO0lBQXdCLDZCQURaO1lBQ1ksU0FEWjtFZmdqQ2xCO0VlL2lDTTtJQUF3Qiw2QkFEWjtZQUNZLFNBRFo7RWZtakNsQjtFZWxqQ007SUFBd0IsNkJBRFo7WUFDWSxTQURaO0Vmc2pDbEI7RWUvaUNRO0lGUlIsY0FBNEI7RWIwakM1QjtFZWxqQ1E7SUZSUixzQkFBOEM7RWI2akM5QztFZXJqQ1E7SUZSUix1QkFBOEM7RWJna0M5QztFZXhqQ1E7SUZSUixnQkFBOEM7RWJta0M5QztFZTNqQ1E7SUZSUix1QkFBOEM7RWJza0M5QztFZTlqQ1E7SUZSUix1QkFBOEM7RWJ5a0M5QztFZWprQ1E7SUZSUixnQkFBOEM7RWI0a0M5QztFZXBrQ1E7SUZSUix1QkFBOEM7RWIra0M5QztFZXZrQ1E7SUZSUix1QkFBOEM7RWJrbEM5QztFZTFrQ1E7SUZSUixnQkFBOEM7RWJxbEM5QztFZTdrQ1E7SUZSUix1QkFBOEM7RWJ3bEM5QztFZWhsQ1E7SUZSUix1QkFBOEM7RWIybEM5QztBQUNGO0FjdmxDSTtFQzlCRTtJQUNFLGFBQWE7SUFDYixtQkFBWTtZQUFaLFlBQVk7SUFDWixlQUFlO0VmeW5DckI7RWVybkNNO0lGNEJKLG1CQUF1QjtZQUF2QixjQUF1QjtJQUN2QixlQUF3QjtFYjRsQzFCO0Vlem5DTTtJRjRCSixtQkFBdUI7WUFBdkIsYUFBdUI7SUFDdkIsY0FBd0I7RWJnbUMxQjtFZTduQ007SUY0QkosbUJBQXVCO1lBQXZCLG9CQUF1QjtJQUN2QixxQkFBd0I7RWJvbUMxQjtFZWpvQ007SUY0QkosbUJBQXVCO1lBQXZCLGFBQXVCO0lBQ3ZCLGNBQXdCO0Vid21DMUI7RWVyb0NNO0lGNEJKLG1CQUF1QjtZQUF2QixhQUF1QjtJQUN2QixjQUF3QjtFYjRtQzFCO0Vlem9DTTtJRjRCSixtQkFBdUI7WUFBdkIsb0JBQXVCO0lBQ3ZCLHFCQUF3QjtFYmduQzFCO0VleG9DSTtJRk1KLG1CQUFjO1lBQWQsY0FBYztJQUNkLFdBQVc7SUFDWCxlQUFlO0VicW9DZjtFZXhvQ007SUZQTixtQkFBc0M7WUFBdEMsbUJBQXNDO0lBSXRDLG9CQUF1QztFYitvQ3ZDO0VlNW9DTTtJRlBOLG1CQUFzQztZQUF0QyxvQkFBc0M7SUFJdEMscUJBQXVDO0VibXBDdkM7RWVocENNO0lGUE4sbUJBQXNDO1lBQXRDLGFBQXNDO0lBSXRDLGNBQXVDO0VidXBDdkM7RWVwcENNO0lGUE4sbUJBQXNDO1lBQXRDLG9CQUFzQztJQUl0QyxxQkFBdUM7RWIycEN2QztFZXhwQ007SUZQTixtQkFBc0M7WUFBdEMsb0JBQXNDO0lBSXRDLHFCQUF1QztFYitwQ3ZDO0VlNXBDTTtJRlBOLG1CQUFzQztZQUF0QyxhQUFzQztJQUl0QyxjQUF1QztFYm1xQ3ZDO0VlaHFDTTtJRlBOLG1CQUFzQztZQUF0QyxvQkFBc0M7SUFJdEMscUJBQXVDO0VidXFDdkM7RWVwcUNNO0lGUE4sbUJBQXNDO1lBQXRDLG9CQUFzQztJQUl0QyxxQkFBdUM7RWIycUN2QztFZXhxQ007SUZQTixtQkFBc0M7WUFBdEMsYUFBc0M7SUFJdEMsY0FBdUM7RWIrcUN2QztFZTVxQ007SUZQTixtQkFBc0M7WUFBdEMsb0JBQXNDO0lBSXRDLHFCQUF1QztFYm1yQ3ZDO0VlaHJDTTtJRlBOLG1CQUFzQztZQUF0QyxvQkFBc0M7SUFJdEMscUJBQXVDO0VidXJDdkM7RWVwckNNO0lGUE4sbUJBQXNDO1lBQXRDLGNBQXNDO0lBSXRDLGVBQXVDO0ViMnJDdkM7RWVuckNJO0lBQXdCLDRCQUFTO1lBQVQsU0FBUztFZnNyQ3JDO0VlcHJDSTtJQUF1Qiw2Qlo2S0c7WVk3S0gsU1o2S0c7RUgwZ0M5QjtFZXByQ007SUFBd0IsNEJBRFo7WUFDWSxRQURaO0Vmd3JDbEI7RWV2ckNNO0lBQXdCLDRCQURaO1lBQ1ksUUFEWjtFZjJyQ2xCO0VlMXJDTTtJQUF3Qiw0QkFEWjtZQUNZLFFBRFo7RWY4ckNsQjtFZTdyQ007SUFBd0IsNEJBRFo7WUFDWSxRQURaO0VmaXNDbEI7RWVoc0NNO0lBQXdCLDRCQURaO1lBQ1ksUUFEWjtFZm9zQ2xCO0VlbnNDTTtJQUF3Qiw0QkFEWjtZQUNZLFFBRFo7RWZ1c0NsQjtFZXRzQ007SUFBd0IsNEJBRFo7WUFDWSxRQURaO0VmMHNDbEI7RWV6c0NNO0lBQXdCLDRCQURaO1lBQ1ksUUFEWjtFZjZzQ2xCO0VlNXNDTTtJQUF3Qiw0QkFEWjtZQUNZLFFBRFo7RWZndENsQjtFZS9zQ007SUFBd0IsNkJBRFo7WUFDWSxRQURaO0VmbXRDbEI7RWVsdENNO0lBQXdCLDZCQURaO1lBQ1ksU0FEWjtFZnN0Q2xCO0VlcnRDTTtJQUF3Qiw2QkFEWjtZQUNZLFNBRFo7RWZ5dENsQjtFZXh0Q007SUFBd0IsNkJBRFo7WUFDWSxTQURaO0VmNHRDbEI7RWVydENRO0lGUlIsY0FBNEI7RWJndUM1QjtFZXh0Q1E7SUZSUixzQkFBOEM7RWJtdUM5QztFZTN0Q1E7SUZSUix1QkFBOEM7RWJzdUM5QztFZTl0Q1E7SUZSUixnQkFBOEM7RWJ5dUM5QztFZWp1Q1E7SUZSUix1QkFBOEM7RWI0dUM5QztFZXB1Q1E7SUZSUix1QkFBOEM7RWIrdUM5QztFZXZ1Q1E7SUZSUixnQkFBOEM7RWJrdkM5QztFZTF1Q1E7SUZSUix1QkFBOEM7RWJxdkM5QztFZTd1Q1E7SUZSUix1QkFBOEM7RWJ3dkM5QztFZWh2Q1E7SUZSUixnQkFBOEM7RWIydkM5QztFZW52Q1E7SUZSUix1QkFBOEM7RWI4dkM5QztFZXR2Q1E7SUZSUix1QkFBOEM7RWJpd0M5QztBQUNGO0FjN3ZDSTtFQzlCRTtJQUNFLGFBQWE7SUFDYixtQkFBWTtZQUFaLFlBQVk7SUFDWixlQUFlO0VmK3hDckI7RWUzeENNO0lGNEJKLG1CQUF1QjtZQUF2QixjQUF1QjtJQUN2QixlQUF3QjtFYmt3QzFCO0VlL3hDTTtJRjRCSixtQkFBdUI7WUFBdkIsYUFBdUI7SUFDdkIsY0FBd0I7RWJzd0MxQjtFZW55Q007SUY0QkosbUJBQXVCO1lBQXZCLG9CQUF1QjtJQUN2QixxQkFBd0I7RWIwd0MxQjtFZXZ5Q007SUY0QkosbUJBQXVCO1lBQXZCLGFBQXVCO0lBQ3ZCLGNBQXdCO0ViOHdDMUI7RWUzeUNNO0lGNEJKLG1CQUF1QjtZQUF2QixhQUF1QjtJQUN2QixjQUF3QjtFYmt4QzFCO0VlL3lDTTtJRjRCSixtQkFBdUI7WUFBdkIsb0JBQXVCO0lBQ3ZCLHFCQUF3QjtFYnN4QzFCO0VlOXlDSTtJRk1KLG1CQUFjO1lBQWQsY0FBYztJQUNkLFdBQVc7SUFDWCxlQUFlO0ViMnlDZjtFZTl5Q007SUZQTixtQkFBc0M7WUFBdEMsbUJBQXNDO0lBSXRDLG9CQUF1QztFYnF6Q3ZDO0VlbHpDTTtJRlBOLG1CQUFzQztZQUF0QyxvQkFBc0M7SUFJdEMscUJBQXVDO0VieXpDdkM7RWV0ekNNO0lGUE4sbUJBQXNDO1lBQXRDLGFBQXNDO0lBSXRDLGNBQXVDO0ViNnpDdkM7RWUxekNNO0lGUE4sbUJBQXNDO1lBQXRDLG9CQUFzQztJQUl0QyxxQkFBdUM7RWJpMEN2QztFZTl6Q007SUZQTixtQkFBc0M7WUFBdEMsb0JBQXNDO0lBSXRDLHFCQUF1QztFYnEwQ3ZDO0VlbDBDTTtJRlBOLG1CQUFzQztZQUF0QyxhQUFzQztJQUl0QyxjQUF1QztFYnkwQ3ZDO0VldDBDTTtJRlBOLG1CQUFzQztZQUF0QyxvQkFBc0M7SUFJdEMscUJBQXVDO0ViNjBDdkM7RWUxMENNO0lGUE4sbUJBQXNDO1lBQXRDLG9CQUFzQztJQUl0QyxxQkFBdUM7RWJpMUN2QztFZTkwQ007SUZQTixtQkFBc0M7WUFBdEMsYUFBc0M7SUFJdEMsY0FBdUM7RWJxMUN2QztFZWwxQ007SUZQTixtQkFBc0M7WUFBdEMsb0JBQXNDO0lBSXRDLHFCQUF1QztFYnkxQ3ZDO0VldDFDTTtJRlBOLG1CQUFzQztZQUF0QyxvQkFBc0M7SUFJdEMscUJBQXVDO0ViNjFDdkM7RWUxMUNNO0lGUE4sbUJBQXNDO1lBQXRDLGNBQXNDO0lBSXRDLGVBQXVDO0ViaTJDdkM7RWV6MUNJO0lBQXdCLDRCQUFTO1lBQVQsU0FBUztFZjQxQ3JDO0VlMTFDSTtJQUF1Qiw2Qlo2S0c7WVk3S0gsU1o2S0c7RUhnckM5QjtFZTExQ007SUFBd0IsNEJBRFo7WUFDWSxRQURaO0VmODFDbEI7RWU3MUNNO0lBQXdCLDRCQURaO1lBQ1ksUUFEWjtFZmkyQ2xCO0VlaDJDTTtJQUF3Qiw0QkFEWjtZQUNZLFFBRFo7RWZvMkNsQjtFZW4yQ007SUFBd0IsNEJBRFo7WUFDWSxRQURaO0VmdTJDbEI7RWV0MkNNO0lBQXdCLDRCQURaO1lBQ1ksUUFEWjtFZjAyQ2xCO0VlejJDTTtJQUF3Qiw0QkFEWjtZQUNZLFFBRFo7RWY2MkNsQjtFZTUyQ007SUFBd0IsNEJBRFo7WUFDWSxRQURaO0VmZzNDbEI7RWUvMkNNO0lBQXdCLDRCQURaO1lBQ1ksUUFEWjtFZm0zQ2xCO0VlbDNDTTtJQUF3Qiw0QkFEWjtZQUNZLFFBRFo7RWZzM0NsQjtFZXIzQ007SUFBd0IsNkJBRFo7WUFDWSxRQURaO0VmeTNDbEI7RWV4M0NNO0lBQXdCLDZCQURaO1lBQ1ksU0FEWjtFZjQzQ2xCO0VlMzNDTTtJQUF3Qiw2QkFEWjtZQUNZLFNBRFo7RWYrM0NsQjtFZTkzQ007SUFBd0IsNkJBRFo7WUFDWSxTQURaO0VmazRDbEI7RWUzM0NRO0lGUlIsY0FBNEI7RWJzNEM1QjtFZTkzQ1E7SUZSUixzQkFBOEM7RWJ5NEM5QztFZWo0Q1E7SUZSUix1QkFBOEM7RWI0NEM5QztFZXA0Q1E7SUZSUixnQkFBOEM7RWIrNEM5QztFZXY0Q1E7SUZSUix1QkFBOEM7RWJrNUM5QztFZTE0Q1E7SUZSUix1QkFBOEM7RWJxNUM5QztFZTc0Q1E7SUZSUixnQkFBOEM7RWJ3NUM5QztFZWg1Q1E7SUZSUix1QkFBOEM7RWIyNUM5QztFZW41Q1E7SUZSUix1QkFBOEM7RWI4NUM5QztFZXQ1Q1E7SUZSUixnQkFBOEM7RWJpNkM5QztFZXo1Q1E7SUZSUix1QkFBOEM7RWJvNkM5QztFZTU1Q1E7SUZSUix1QkFBOEM7RWJ1NkM5QztBQUNGO0FnQjM5Q0E7RUFDRSxXQUFXO0VBQ1gsbUJia0lXO0VhaklYLGNiU2dCO0FIcTlDbEI7QWdCaitDQTs7RUFRSSxnQmJzVmdDO0VhclZoQyxtQkFBbUI7RUFDbkIsNkJiSmM7QUhrK0NsQjtBZ0J4K0NBO0VBY0ksc0JBQXNCO0VBQ3RCLGdDYlRjO0FIdStDbEI7QWdCNytDQTtFQW1CSSw2QmJiYztBSDIrQ2xCO0FnQnI5Q0E7O0VBR0ksZWJnVStCO0FIdXBDbkM7QWdCOThDQTtFQUNFLHlCYm5DZ0I7QUhvL0NsQjtBZ0JsOUNBOztFQUtJLHlCYnZDYztBSHkvQ2xCO0FnQnY5Q0E7O0VBV00sd0JBQTRDO0FoQmk5Q2xEO0FnQjU4Q0E7Ozs7RUFLSSxTQUFTO0FoQjg4Q2I7QWdCdDhDQTtFQUVJLHFDYjFEVztBSGtnRGY7QUt2Z0RFO0VXMkVJLGNidkVZO0Vhd0VaLHNDYnZFUztBSHVnRGY7QWlCbmhERTs7O0VBSUkseUJDc0Y0RDtBbEIrN0NsRTtBaUJ6aERFOzs7O0VBWU0scUJDOEUwRDtBbEJzOENsRTtBS3poREU7RVlpQk0seUJBSnNDO0FqQmdoRDlDO0FpQmpoREU7O0VBU1EseUJBUm9DO0FqQnFoRDlDO0FpQnppREU7OztFQUlJLHlCQ3NGNEQ7QWxCcTlDbEU7QWlCL2lERTs7OztFQVlNLHFCQzhFMEQ7QWxCNDlDbEU7QUsvaURFO0VZaUJNLHlCQUpzQztBakJzaUQ5QztBaUJ2aURFOztFQVNRLHlCQVJvQztBakIyaUQ5QztBaUIvakRFOzs7RUFJSSx5QkNzRjREO0FsQjIrQ2xFO0FpQnJrREU7Ozs7RUFZTSxxQkM4RTBEO0FsQmsvQ2xFO0FLcmtERTtFWWlCTSx5QkFKc0M7QWpCNGpEOUM7QWlCN2pERTs7RUFTUSx5QkFSb0M7QWpCaWtEOUM7QWlCcmxERTs7O0VBSUkseUJDc0Y0RDtBbEJpZ0RsRTtBaUIzbERFOzs7O0VBWU0scUJDOEUwRDtBbEJ3Z0RsRTtBSzNsREU7RVlpQk0seUJBSnNDO0FqQmtsRDlDO0FpQm5sREU7O0VBU1EseUJBUm9DO0FqQnVsRDlDO0FpQjNtREU7OztFQUlJLHlCQ3NGNEQ7QWxCdWhEbEU7QWlCam5ERTs7OztFQVlNLHFCQzhFMEQ7QWxCOGhEbEU7QUtqbkRFO0VZaUJNLHlCQUpzQztBakJ3bUQ5QztBaUJ6bURFOztFQVNRLHlCQVJvQztBakI2bUQ5QztBaUJqb0RFOzs7RUFJSSx5QkNzRjREO0FsQjZpRGxFO0FpQnZvREU7Ozs7RUFZTSxxQkM4RTBEO0FsQm9qRGxFO0FLdm9ERTtFWWlCTSx5QkFKc0M7QWpCOG5EOUM7QWlCL25ERTs7RUFTUSx5QkFSb0M7QWpCbW9EOUM7QWlCdnBERTs7O0VBSUkseUJDc0Y0RDtBbEJta0RsRTtBaUI3cERFOzs7O0VBWU0scUJDOEUwRDtBbEIwa0RsRTtBSzdwREU7RVlpQk0seUJBSnNDO0FqQm9wRDlDO0FpQnJwREU7O0VBU1EseUJBUm9DO0FqQnlwRDlDO0FpQjdxREU7OztFQUlJLHlCQ3NGNEQ7QWxCeWxEbEU7QWlCbnJERTs7OztFQVlNLHFCQzhFMEQ7QWxCZ21EbEU7QUtuckRFO0VZaUJNLHlCQUpzQztBakIwcUQ5QztBaUIzcURFOztFQVNRLHlCQVJvQztBakIrcUQ5QztBaUJuc0RFOzs7RUFJSSxzQ2RRUztBSDZyRGY7QUtsc0RFO0VZaUJNLHNDQUpzQztBakJ5ckQ5QztBaUIxckRFOztFQVNRLHNDQVJvQztBakI4ckQ5QztBZ0J4bURBO0VBR00sV2IzR1M7RWE0R1QseUJicEdZO0VhcUdaLHFCYm1RcUQ7QUhzMkMzRDtBZ0I5bURBO0VBV00sY2I1R1k7RWE2R1oseUJibEhZO0VhbUhaLHFCYmxIWTtBSHl0RGxCO0FnQmxtREE7RUFDRSxXYjNIYTtFYTRIYix5QmJwSGdCO0FIeXREbEI7QWdCdm1EQTs7O0VBT0kscUJiK091RDtBSHUzQzNEO0FnQjdtREE7RUFXSSxTQUFTO0FoQnNtRGI7QWdCam5EQTtFQWdCTSwyQ2IxSVM7QUgrdURmO0FLMXVERTtFVzRJTSxXYmpKTztFYWtKUCw0Q2JsSk87QUhvdkRmO0FjbHJESTtFRWlHQTtJQUVJLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGlDQUFpQztFaEJvbER2QztFZ0J6bERHO0lBU0ssU0FBUztFaEJtbERqQjtBQUNGO0FjOXJESTtFRWlHQTtJQUVJLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGlDQUFpQztFaEJnbUR2QztFZ0JybURHO0lBU0ssU0FBUztFaEIrbERqQjtBQUNGO0FjMXNESTtFRWlHQTtJQUVJLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGlDQUFpQztFaEI0bUR2QztFZ0JqbkRHO0lBU0ssU0FBUztFaEIybURqQjtBQUNGO0FjdHRESTtFRWlHQTtJQUVJLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGlDQUFpQztFaEJ3bkR2QztFZ0I3bkRHO0lBU0ssU0FBUztFaEJ1bkRqQjtBQUNGO0FnQnRvREE7RUFPUSxjQUFjO0VBQ2QsV0FBVztFQUNYLGdCQUFnQjtFQUNoQixpQ0FBaUM7QWhCbW9EekM7QWdCN29EQTtFQWNVLFNBQVM7QWhCbW9EbkI7QW1CaHpEQTtFQUNFLGNBQWM7RUFDZCxXQUFXO0VBQ1gsbUNEdUc4RDtFQ3RHOUQseUJoQjRYa0M7RUN2UTlCLGVBdENZO0VlNUVoQixnQmhCc1IrQjtFZ0JyUi9CLGdCaEIwUitCO0VnQnpSL0IsY2hCRGdCO0VnQkVoQixzQmhCVGE7RWdCVWIsNEJBQTRCO0VBQzVCLHlCaEJQZ0I7RU9OZCxzQlA2T2dDO0VpQjVPOUIsZ0ZqQm9mNEY7RWlCcGY1Rix3RWpCb2Y0RjtBSDQwQ2xHO0FvQjN6REk7RURMSjtJQ01NLHdCQUFnQjtJQUFoQixnQkFBZ0I7RXBCK3pEcEI7QUFDRjtBbUJ0MERBO0VBc0JJLDZCQUE2QjtFQUM3QixTQUFTO0FuQm96RGI7QW1CMzBEQTtFQTRCSSxrQkFBa0I7RUFDbEIsMEJoQnJCYztBSHcwRGxCO0FxQnowREU7RUFDRSxjbEJBYztFa0JDZCxzQmxCUlc7RWtCU1gscUJsQndkc0U7RWtCdmR0RSxVQUFVO0VBS1IsZ0RsQmNXO0FIMHpEakI7QW1CeDFEQTtFQXFDSSxjaEI5QmM7RWdCZ0NkLFVBQVU7QW5Cc3pEZDtBbUI3MURBO0VBcUNJLGNoQjlCYztFZ0JnQ2QsVUFBVTtBbkJzekRkO0FtQjcxREE7RUFxQ0ksY2hCOUJjO0VnQmdDZCxVQUFVO0FuQnN6RGQ7QW1CNzFEQTtFQXFDSSxjaEI5QmM7RWdCZ0NkLFVBQVU7QW5Cc3pEZDtBbUI3MURBO0VBaURJLHlCaEI5Q2M7RWdCZ0RkLFVBQVU7QW5CK3lEZDtBbUIzeURBO0VBT0ksY2hCdERjO0VnQnVEZCxzQmhCOURXO0FIczJEZjtBbUJueURBOztFQUVFLGNBQWM7RUFDZCxXQUFXO0FuQnN5RGI7QW1CNXhEQTtFQUNFLGlDRHdCOEQ7RUN2QjlELG9DRHVCOEQ7RUN0QjlELGdCQUFnQjtFZmxCZCxrQkFBVztFZW9CYixnQmhCNE0rQjtBSG1sRGpDO0FtQjV4REE7RUFDRSwrQkRnQjhEO0VDZjlELGtDRGU4RDtFZGUxRCxrQkF0Q1k7RWVVaEIsZ0JoQnlJK0I7QUhzcERqQztBbUI1eERBO0VBQ0UsZ0NEUzhEO0VDUjlELG1DRFE4RDtFZGUxRCxtQkF0Q1k7RWVpQmhCLGdCaEJtSStCO0FINHBEakM7QW1CdHhEQTtFQUNFLGNBQWM7RUFDZCxXQUFXO0VBQ1gsbUJBQTJCO0VBQzNCLGdCQUFnQjtFZlFaLGVBdENZO0VlZ0NoQixnQmhCK0srQjtFZ0I5Sy9CLGNoQjFHZ0I7RWdCMkdoQiw2QkFBNkI7RUFDN0IseUJBQXlCO0VBQ3pCLG1CQUFtQztBbkJ5eERyQztBbUJueURBO0VBY0ksZ0JBQWdCO0VBQ2hCLGVBQWU7QW5CeXhEbkI7QW1CN3dEQTtFQUNFLGtDRC9COEQ7RUNnQzlELHVCaEJnUWlDO0VDalI3QixtQkF0Q1k7RWV5RGhCLGdCaEIyRitCO0VPeE83QixxQlArTytCO0FIK3FEbkM7QW1CN3dEQTtFQUNFLGdDRHZDOEQ7RUN3QzlELG9CaEI2UGdDO0VDdFI1QixrQkF0Q1k7RWVpRWhCLGdCaEJrRitCO0VPdk83QixxQlA4TytCO0FId3JEbkM7QW1CNXdEQTtFQUdJLFlBQVk7QW5CNndEaEI7QW1CendEQTtFQUNFLFlBQVk7QW5CNHdEZDtBbUJwd0RBO0VBQ0UsbUJoQnNWMEM7QUhpN0M1QztBbUJwd0RBO0VBQ0UsY0FBYztFQUNkLG1CaEJ1VTRDO0FIZzhDOUM7QW1CL3ZEQTtFQUNFLG9CQUFhO0VBQWIsYUFBYTtFQUNiLGVBQWU7RUFDZixrQkFBMEM7RUFDMUMsaUJBQXlDO0FuQmt3RDNDO0FtQnR3REE7O0VBUUksa0JBQTBDO0VBQzFDLGlCQUF5QztBbkJtd0Q3QztBbUIxdkRBO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxxQmhCNFM2QztBSGk5Qy9DO0FtQjF2REE7RUFDRSxrQkFBa0I7RUFDbEIsa0JoQndTMkM7RWdCdlMzQyxxQmhCc1M2QztBSHU5Qy9DO0FtQmh3REE7O0VBUUksY2hCaE5jO0FINjhEbEI7QW1CenZEQTtFQUNFLGdCQUFnQjtBbkI0dkRsQjtBbUJ6dkRBO0VBQ0UsMkJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQix5QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixxQmhCeVI0QztBSG0rQzlDO0FtQmh3REE7RUFRSSxnQkFBZ0I7RUFDaEIsYUFBYTtFQUNiLHVCaEJvUjRDO0VnQm5SNUMsY0FBYztBbkI0dkRsQjtBcUJoOERFO0VBQ0UsYUFBYTtFQUNiLFdBQVc7RUFDWCxtQmxCNmMwQztFQ3BiMUMsY0FBVztFaUJ2QlgsY2xCTmE7QUh5OERqQjtBcUJoOERFO0VBQ0Usa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxVQUFVO0VBQ1YsYUFBYTtFQUNiLGVBQWU7RUFDZix1QmxCbXlCcUM7RWtCbHlCckMsaUJBQWlCO0VqQm9FZixtQkF0Q1k7RWlCNUJkLGdCbEIyTzZCO0VrQjFPN0IsV2xCdkRXO0VrQndEWCx3Q2xCcEJhO0VPdENiLHNCUDZPZ0M7QUhpeERwQztBcUJuK0RJOzs7O0VBc0NFLGNBQWM7QXJCbzhEcEI7QXFCMStESTtFQTRDRSxxQmxCakNXO0VrQm9DVCxvQ0hpQ3dEO0VHaEN4RCxpUkhwQ21JO0VHcUNuSSw0QkFBNEI7RUFDNUIsMkRBQTZEO0VBQzdELGdFSDZCd0Q7QWxCbTZEaEU7QXFCbi9ESTtFQXVESSxxQmxCNUNTO0VrQjZDVCxnRGxCN0NTO0FINitEakI7QXFCeC9ESTtFQWlFSSxvQ0hld0Q7RUdkeEQsa0ZIY3dEO0FsQjY2RGhFO0FxQjcvREk7RUF5RUUscUJsQjlEVztFa0JpRVQsdUNISXdEO0VHSHhELHVqQkFBOEo7QXJCczdEdEs7QXFCbmdFSTtFQWlGSSxxQmxCdEVTO0VrQnVFVCxnRGxCdkVTO0FINi9EakI7QXFCeGdFSTtFQTBGSSxjbEIvRVM7QUhpZ0VqQjtBcUI1Z0VJOzs7RUErRkksY0FBYztBckJtN0R0QjtBcUJsaEVJO0VBdUdJLGNsQjVGUztBSDJnRWpCO0FxQnRoRUk7RUEwR00scUJsQi9GTztBSCtnRWpCO0FxQjFoRUk7RUFnSE0scUJBQWtDO0VDMUl4Qyx5QkQySStDO0FyQjg2RG5EO0FxQi9oRUk7RUF1SE0sZ0RsQjVHTztBSHdoRWpCO0FxQm5pRUk7RUEySE0scUJsQmhITztBSDRoRWpCO0FxQnZpRUk7RUFxSUkscUJsQjFIUztBSGdpRWpCO0FxQjNpRUk7RUEwSU0scUJsQi9ITztFa0JnSVAsZ0RsQmhJTztBSHFpRWpCO0FxQnBpRUU7RUFDRSxhQUFhO0VBQ2IsV0FBVztFQUNYLG1CbEI2YzBDO0VDcGIxQyxjQUFXO0VpQnZCWCxjbEJUYTtBSGdqRWpCO0FxQnBpRUU7RUFDRSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULFVBQVU7RUFDVixhQUFhO0VBQ2IsZUFBZTtFQUNmLHVCbEJteUJxQztFa0JseUJyQyxpQkFBaUI7RWpCb0VmLG1CQXRDWTtFaUI1QmQsZ0JsQjJPNkI7RWtCMU83QixXbEJ2RFc7RWtCd0RYLHdDbEJ2QmE7RU9uQ2Isc0JQNk9nQztBSHEzRHBDO0FxQnZrRUk7Ozs7RUFzQ0UsY0FBYztBckJ3aUVwQjtBcUI5a0VJO0VBNENFLHFCbEJwQ1c7RWtCdUNULG9DSGlDd0Q7RUdoQ3hELDRVSHBDbUk7RUdxQ25JLDRCQUE0QjtFQUM1QiwyREFBNkQ7RUFDN0QsZ0VINkJ3RDtBbEJ1Z0VoRTtBcUJ2bEVJO0VBdURJLHFCbEIvQ1M7RWtCZ0RULGdEbEJoRFM7QUhvbEVqQjtBcUI1bEVJO0VBaUVJLG9DSGV3RDtFR2R4RCxrRkhjd0Q7QWxCaWhFaEU7QXFCam1FSTtFQXlFRSxxQmxCakVXO0VrQm9FVCx1Q0hJd0Q7RUdIeEQsa25CQUE4SjtBckIwaEV0SztBcUJ2bUVJO0VBaUZJLHFCbEJ6RVM7RWtCMEVULGdEbEIxRVM7QUhvbUVqQjtBcUI1bUVJO0VBMEZJLGNsQmxGUztBSHdtRWpCO0FxQmhuRUk7OztFQStGSSxjQUFjO0FyQnVoRXRCO0FxQnRuRUk7RUF1R0ksY2xCL0ZTO0FIa25FakI7QXFCMW5FSTtFQTBHTSxxQmxCbEdPO0FIc25FakI7QXFCOW5FSTtFQWdITSxxQkFBa0M7RUMxSXhDLHlCRDJJK0M7QXJCa2hFbkQ7QXFCbm9FSTtFQXVITSxnRGxCL0dPO0FIK25FakI7QXFCdm9FSTtFQTJITSxxQmxCbkhPO0FIbW9FakI7QXFCM29FSTtFQXFJSSxxQmxCN0hTO0FIdW9FakI7QXFCL29FSTtFQTBJTSxxQmxCbElPO0VrQm1JUCxnRGxCbklPO0FING9FakI7QW1CMzZEQTtFQUNFLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDhCQUFtQjtFQUFuQiw2QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHlCQUFtQjtVQUFuQixtQkFBbUI7QW5CODZEckI7QW1CajdEQTtFQVNJLFdBQVc7QW5CNDZEZjtBY2xvRUk7RUs2TUo7SUFlTSxvQkFBYTtJQUFiLGFBQWE7SUFDYix5QkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsZ0JBQWdCO0VuQjI2RHBCO0VtQjc3REY7SUF1Qk0sb0JBQWE7SUFBYixhQUFhO0lBQ2IsbUJBQWM7WUFBZCxjQUFjO0lBQ2QsOEJBQW1CO0lBQW5CLDZCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIseUJBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixnQkFBZ0I7RW5CeTZEcEI7RW1CcDhERjtJQWdDTSxxQkFBcUI7SUFDckIsV0FBVztJQUNYLHNCQUFzQjtFbkJ1NkQxQjtFbUJ6OERGO0lBdUNNLHFCQUFxQjtFbkJxNkR6QjtFbUI1OERGOztJQTRDTSxXQUFXO0VuQm82RGY7RW1CaDlERjtJQWtETSxvQkFBYTtJQUFiLGFBQWE7SUFDYix5QkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsV0FBVztJQUNYLGVBQWU7RW5CaTZEbkI7RW1CdjlERjtJQXlETSxrQkFBa0I7SUFDbEIsY0FBYztJQUNkLGFBQWE7SUFDYixxQmhCMkx3QztJZ0IxTHhDLGNBQWM7RW5CaTZEbEI7RW1COTlERjtJQWlFTSx5QkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtZQUF2Qix1QkFBdUI7RW5CZzZEM0I7RW1CbCtERjtJQXFFTSxnQkFBZ0I7RW5CZzZEcEI7QUFDRjtBdUJ6dUVBO0VBQ0UscUJBQXFCO0VBRXJCLGdCcEIwUitCO0VvQnpSL0IsY3BCTWdCO0VvQkxoQixrQkFBa0I7RUFFbEIsc0JBQXNCO0VBQ3RCLGVBQXNEO0VBQ3RELHlCQUFpQjtFQUFqQixzQkFBaUI7RUFBakIscUJBQWlCO0VBQWpCLGlCQUFpQjtFQUNqQiw2QkFBNkI7RUFDN0IsNkJBQTJDO0VDdUYzQyx5QnJCOFJrQztFQ3ZROUIsZUF0Q1k7RW9CaUJoQixnQnJCOEwrQjtFT25TN0Isc0JQNk9nQztFaUI1TzlCLDZJakI2YjZJO0VpQjdiN0kscUlqQjZiNkk7QUg2ekRuSjtBb0JydkVJO0VHTEo7SUhNTSx3QkFBZ0I7SUFBaEIsZ0JBQWdCO0VwQnl2RXBCO0FBQ0Y7QUsxdkVFO0VrQlVFLGNwQk5jO0VvQk9kLHFCQUFxQjtBdkJvdkV6QjtBdUJyd0VBO0VBc0JJLFVBQVU7RUFDVixnRHBCT2E7QUg0dUVqQjtBdUIxd0VBO0VBNkJJLGFwQm9aNkI7QUg2MURqQztBdUJsdUVBOztFQUVFLG9CQUFvQjtBdkJxdUV0QjtBdUI1dEVFO0VDdkRBLFdyQkNhO0VtQkRYLHlCbkI4QmE7RXFCNUJmLHFCckI0QmU7QUgydkVqQjtBS254RUU7RW1CQUUsV3JCTFc7RW1CRFgseUJFRG9GO0VBU3BGLHFCQVR5SDtBeEJneUU3SDtBd0JweEVFO0VBRUUsV3JCWlc7RW1CRFgseUJFRG9GO0VBZ0JwRixxQkFoQnlIO0VBcUJ2SCxnREFBaUY7QXhCa3hFdkY7QXdCN3dFRTtFQUVFLFdyQjFCVztFcUIyQlgseUJyQkVhO0VxQkRiLHFCckJDYTtBSDh3RWpCO0F3Qnh3RUU7O0VBR0UsV3JCdENXO0VxQnVDWCx5QkF6Q3VLO0VBNkN2SyxxQkE3QytNO0F4Qm96RW5OO0F3QnJ3RUk7O0VBS0ksZ0RBQWlGO0F4QnF3RXpGO0F1Qmp3RUU7RUN2REEsV3JCQ2E7RW1CRFgseUJuQk9jO0VxQkxoQixxQnJCS2dCO0FIdXpFbEI7QUt4ekVFO0VtQkFFLFdyQkxXO0VtQkRYLHlCRURvRjtFQVNwRixxQkFUeUg7QXhCcTBFN0g7QXdCenpFRTtFQUVFLFdyQlpXO0VtQkRYLHlCRURvRjtFQWdCcEYscUJBaEJ5SDtFQXFCdkgsaURBQWlGO0F4QnV6RXZGO0F3Qmx6RUU7RUFFRSxXckIxQlc7RXFCMkJYLHlCckJyQmM7RXFCc0JkLHFCckJ0QmM7QUgwMEVsQjtBd0I3eUVFOztFQUdFLFdyQnRDVztFcUJ1Q1gseUJBekN1SztFQTZDdksscUJBN0MrTTtBeEJ5MUVuTjtBd0IxeUVJOztFQUtJLGlEQUFpRjtBeEIweUV6RjtBdUJ0eUVFO0VDdkRBLFdyQkNhO0VtQkRYLHlCbkJxQ2E7RXFCbkNmLHFCckJtQ2U7QUg4ekVqQjtBSzcxRUU7RW1CQUUsV3JCTFc7RW1CRFgseUJFRG9GO0VBU3BGLHFCQVR5SDtBeEIwMkU3SDtBd0I5MUVFO0VBRUUsV3JCWlc7RW1CRFgseUJFRG9GO0VBZ0JwRixxQkFoQnlIO0VBcUJ2SCwrQ0FBaUY7QXhCNDFFdkY7QXdCdjFFRTtFQUVFLFdyQjFCVztFcUIyQlgseUJyQlNhO0VxQlJiLHFCckJRYTtBSGkxRWpCO0F3QmwxRUU7O0VBR0UsV3JCdENXO0VxQnVDWCx5QkF6Q3VLO0VBNkN2SyxxQkE3QytNO0F4QjgzRW5OO0F3Qi8wRUk7O0VBS0ksK0NBQWlGO0F4QiswRXpGO0F1QjMwRUU7RUN2REEsV3JCQ2E7RW1CRFgseUJuQnVDYTtFcUJyQ2YscUJyQnFDZTtBSGkyRWpCO0FLbDRFRTtFbUJBRSxXckJMVztFbUJEWCx5QkVEb0Y7RUFTcEYscUJBVHlIO0F4Qis0RTdIO0F3Qm40RUU7RUFFRSxXckJaVztFbUJEWCx5QkVEb0Y7RUFnQnBGLHFCQWhCeUg7RUFxQnZILGdEQUFpRjtBeEJpNEV2RjtBd0I1M0VFO0VBRUUsV3JCMUJXO0VxQjJCWCx5QnJCV2E7RXFCVmIscUJyQlVhO0FIbzNFakI7QXdCdjNFRTs7RUFHRSxXckJ0Q1c7RXFCdUNYLHlCQXpDdUs7RUE2Q3ZLLHFCQTdDK007QXhCbTZFbk47QXdCcDNFSTs7RUFLSSxnREFBaUY7QXhCbzNFekY7QXVCaDNFRTtFQ3ZEQSxjckJVZ0I7RW1CVmQseUJuQm9DYTtFcUJsQ2YscUJyQmtDZTtBSHk0RWpCO0FLdjZFRTtFbUJBRSxjckJJYztFbUJWZCx5QkVEb0Y7RUFTcEYscUJBVHlIO0F4Qm83RTdIO0F3Qng2RUU7RUFFRSxjckJIYztFbUJWZCx5QkVEb0Y7RUFnQnBGLHFCQWhCeUg7RUFxQnZILGdEQUFpRjtBeEJzNkV2RjtBd0JqNkVFO0VBRUUsY3JCakJjO0VxQmtCZCx5QnJCUWE7RXFCUGIscUJyQk9hO0FINDVFakI7QXdCNTVFRTs7RUFHRSxjckI3QmM7RXFCOEJkLHlCQXpDdUs7RUE2Q3ZLLHFCQTdDK007QXhCdzhFbk47QXdCejVFSTs7RUFLSSxnREFBaUY7QXhCeTVFekY7QXVCcjVFRTtFQ3ZEQSxXckJDYTtFbUJEWCx5Qm5Ca0NhO0VxQmhDZixxQnJCZ0NlO0FIZzdFakI7QUs1OEVFO0VtQkFFLFdyQkxXO0VtQkRYLHlCRURvRjtFQVNwRixxQkFUeUg7QXhCeTlFN0g7QXdCNzhFRTtFQUVFLFdyQlpXO0VtQkRYLHlCRURvRjtFQWdCcEYscUJBaEJ5SDtFQXFCdkgsK0NBQWlGO0F4QjI4RXZGO0F3QnQ4RUU7RUFFRSxXckIxQlc7RXFCMkJYLHlCckJNYTtFcUJMYixxQnJCS2E7QUhtOEVqQjtBd0JqOEVFOztFQUdFLFdyQnRDVztFcUJ1Q1gseUJBekN1SztFQTZDdksscUJBN0MrTTtBeEI2K0VuTjtBd0I5N0VJOztFQUtJLCtDQUFpRjtBeEI4N0V6RjtBdUIxN0VFO0VDdkRBLGNyQlVnQjtFbUJWZCx5Qm5CRWM7RXFCQWhCLHFCckJBZ0I7QUhxL0VsQjtBS2ovRUU7RW1CQUUsY3JCSWM7RW1CVmQseUJFRG9GO0VBU3BGLHFCQVR5SDtBeEI4L0U3SDtBd0JsL0VFO0VBRUUsY3JCSGM7RW1CVmQseUJFRG9GO0VBZ0JwRixxQkFoQnlIO0VBcUJ2SCxpREFBaUY7QXhCZy9FdkY7QXdCMytFRTtFQUVFLGNyQmpCYztFcUJrQmQseUJyQjFCYztFcUIyQmQscUJyQjNCYztBSHdnRmxCO0F3QnQrRUU7O0VBR0UsY3JCN0JjO0VxQjhCZCx5QkF6Q3VLO0VBNkN2SyxxQkE3QytNO0F4QmtoRm5OO0F3Qm4rRUk7O0VBS0ksaURBQWlGO0F4Qm0rRXpGO0F1Qi85RUU7RUN2REEsV3JCQ2E7RW1CRFgseUJuQlNjO0VxQlBoQixxQnJCT2dCO0FIbWhGbEI7QUt0aEZFO0VtQkFFLFdyQkxXO0VtQkRYLHlCRURvRjtFQVNwRixxQkFUeUg7QXhCbWlGN0g7QXdCdmhGRTtFQUVFLFdyQlpXO0VtQkRYLHlCRURvRjtFQWdCcEYscUJBaEJ5SDtFQXFCdkgsOENBQWlGO0F4QnFoRnZGO0F3QmhoRkU7RUFFRSxXckIxQlc7RXFCMkJYLHlCckJuQmM7RXFCb0JkLHFCckJwQmM7QUhzaUZsQjtBd0IzZ0ZFOztFQUdFLFdyQnRDVztFcUJ1Q1gseUJBekN1SztFQTZDdksscUJBN0MrTTtBeEJ1akZuTjtBd0J4Z0ZJOztFQUtJLDhDQUFpRjtBeEJ3Z0Z6RjtBdUI5L0VFO0VDSEEsY3JCNUJlO0VxQjZCZixxQnJCN0JlO0FIa2lGakI7QUsxakZFO0VtQndERSxXckI3RFc7RXFCOERYLHlCckJqQ2E7RXFCa0NiLHFCckJsQ2E7QUh3aUZqQjtBd0JuZ0ZFO0VBRUUsK0NyQnZDYTtBSDRpRmpCO0F3QmxnRkU7RUFFRSxjckI1Q2E7RXFCNkNiLDZCQUE2QjtBeEJvZ0ZqQztBd0JqZ0ZFOztFQUdFLFdyQmhGVztFcUJpRlgseUJyQnBEYTtFcUJxRGIscUJyQnJEYTtBSHdqRmpCO0F3QmpnRkk7O0VBS0ksK0NyQjVEUztBSDZqRmpCO0F1QjloRkU7RUNIQSxjckJuRGdCO0VxQm9EaEIscUJyQnBEZ0I7QUh5bEZsQjtBSzFsRkU7RW1Cd0RFLFdyQjdEVztFcUI4RFgseUJyQnhEYztFcUJ5RGQscUJyQnpEYztBSCtsRmxCO0F3Qm5pRkU7RUFFRSxpRHJCOURjO0FIbW1GbEI7QXdCbGlGRTtFQUVFLGNyQm5FYztFcUJvRWQsNkJBQTZCO0F4Qm9pRmpDO0F3QmppRkU7O0VBR0UsV3JCaEZXO0VxQmlGWCx5QnJCM0VjO0VxQjRFZCxxQnJCNUVjO0FIK21GbEI7QXdCamlGSTs7RUFLSSxpRHJCbkZVO0FIb25GbEI7QXVCOWpGRTtFQ0hBLGNyQnJCZTtFcUJzQmYscUJyQnRCZTtBSDJsRmpCO0FLMW5GRTtFbUJ3REUsV3JCN0RXO0VxQjhEWCx5QnJCMUJhO0VxQjJCYixxQnJCM0JhO0FIaW1GakI7QXdCbmtGRTtFQUVFLCtDckJoQ2E7QUhxbUZqQjtBd0Jsa0ZFO0VBRUUsY3JCckNhO0VxQnNDYiw2QkFBNkI7QXhCb2tGakM7QXdCamtGRTs7RUFHRSxXckJoRlc7RXFCaUZYLHlCckI3Q2E7RXFCOENiLHFCckI5Q2E7QUhpbkZqQjtBd0Jqa0ZJOztFQUtJLCtDckJyRFM7QUhzbkZqQjtBdUI5bEZFO0VDSEEsY3JCbkJlO0VxQm9CZixxQnJCcEJlO0FIeW5GakI7QUsxcEZFO0VtQndERSxXckI3RFc7RXFCOERYLHlCckJ4QmE7RXFCeUJiLHFCckJ6QmE7QUgrbkZqQjtBd0JubUZFO0VBRUUsZ0RyQjlCYTtBSG1vRmpCO0F3QmxtRkU7RUFFRSxjckJuQ2E7RXFCb0NiLDZCQUE2QjtBeEJvbUZqQztBd0JqbUZFOztFQUdFLFdyQmhGVztFcUJpRlgseUJyQjNDYTtFcUI0Q2IscUJyQjVDYTtBSCtvRmpCO0F3QmptRkk7O0VBS0ksZ0RyQm5EUztBSG9wRmpCO0F1QjluRkU7RUNIQSxjckJ0QmU7RXFCdUJmLHFCckJ2QmU7QUg0cEZqQjtBSzFyRkU7RW1Cd0RFLGNyQnBEYztFcUJxRGQseUJyQjNCYTtFcUI0QmIscUJyQjVCYTtBSGtxRmpCO0F3Qm5vRkU7RUFFRSwrQ3JCakNhO0FIc3FGakI7QXdCbG9GRTtFQUVFLGNyQnRDYTtFcUJ1Q2IsNkJBQTZCO0F4Qm9vRmpDO0F3QmpvRkU7O0VBR0UsY3JCdkVjO0VxQndFZCx5QnJCOUNhO0VxQitDYixxQnJCL0NhO0FIa3JGakI7QXdCam9GSTs7RUFLSSwrQ3JCdERTO0FIdXJGakI7QXVCOXBGRTtFQ0hBLGNyQnhCZTtFcUJ5QmYscUJyQnpCZTtBSDhyRmpCO0FLMXRGRTtFbUJ3REUsV3JCN0RXO0VxQjhEWCx5QnJCN0JhO0VxQjhCYixxQnJCOUJhO0FIb3NGakI7QXdCbnFGRTtFQUVFLCtDckJuQ2E7QUh3c0ZqQjtBd0JscUZFO0VBRUUsY3JCeENhO0VxQnlDYiw2QkFBNkI7QXhCb3FGakM7QXdCanFGRTs7RUFHRSxXckJoRlc7RXFCaUZYLHlCckJoRGE7RXFCaURiLHFCckJqRGE7QUhvdEZqQjtBd0JqcUZJOztFQUtJLCtDckJ4RFM7QUh5dEZqQjtBdUI5ckZFO0VDSEEsY3JCeERnQjtFcUJ5RGhCLHFCckJ6RGdCO0FIOHZGbEI7QUsxdkZFO0VtQndERSxjckJwRGM7RXFCcURkLHlCckI3RGM7RXFCOERkLHFCckI5RGM7QUhvd0ZsQjtBd0Juc0ZFO0VBRUUsaURyQm5FYztBSHd3RmxCO0F3QmxzRkU7RUFFRSxjckJ4RWM7RXFCeUVkLDZCQUE2QjtBeEJvc0ZqQztBd0Jqc0ZFOztFQUdFLGNyQnZFYztFcUJ3RWQseUJyQmhGYztFcUJpRmQscUJyQmpGYztBSG94RmxCO0F3QmpzRkk7O0VBS0ksaURyQnhGVTtBSHl4RmxCO0F1Qjl0RkU7RUNIQSxjckJqRGdCO0VxQmtEaEIscUJyQmxEZ0I7QUh1eEZsQjtBSzF4RkU7RW1Cd0RFLFdyQjdEVztFcUI4RFgseUJyQnREYztFcUJ1RGQscUJyQnZEYztBSDZ4RmxCO0F3Qm51RkU7RUFFRSw4Q3JCNURjO0FIaXlGbEI7QXdCbHVGRTtFQUVFLGNyQmpFYztFcUJrRWQsNkJBQTZCO0F4Qm91RmpDO0F3Qmp1RkU7O0VBR0UsV3JCaEZXO0VxQmlGWCx5QnJCekVjO0VxQjBFZCxxQnJCMUVjO0FINnlGbEI7QXdCanVGSTs7RUFLSSw4Q3JCakZVO0FIa3pGbEI7QXVCbnZGQTtFQUNFLGdCcEJvTitCO0VvQm5OL0IsY3BCNUNlO0VvQjZDZixxQnBCa0c0QztBSG9wRjlDO0FLM3pGRTtFa0J3RUUsY3BCZ0c4RDtFb0IvRjlELDBCcEJnRytDO0FIdXBGbkQ7QXVCOXZGQTtFQVlJLDBCcEIyRitDO0VvQjFGL0MsZ0JBQWdCO0F2QnN2RnBCO0F1Qm53RkE7RUFrQkksY3BCbkZjO0VvQm9GZCxvQkFBb0I7QXZCcXZGeEI7QXVCMXVGQTtFQ0pFLG9CckI2U2dDO0VDdFI1QixrQkF0Q1k7RW9CaUJoQixnQnJCa0krQjtFT3ZPN0IscUJQOE8rQjtBSDBtRm5DO0F1Qjd1RkE7RUNSRSx1QnJCd1NpQztFQ2pSN0IsbUJBdENZO0VvQmlCaEIsZ0JyQm1JK0I7RU94TzdCLHFCUCtPK0I7QUhnbkZuQztBdUIzdUZBO0VBQ0UsY0FBYztFQUNkLFdBQVc7QXZCOHVGYjtBdUJodkZBO0VBTUksa0JwQjZUK0I7QUhpN0VuQztBdUJ6dUZBOzs7RUFJSSxXQUFXO0F2QjJ1RmY7QXlCbjNGQTtFTE1NLHdDakI4UDJDO0VpQjlQM0MsZ0NqQjhQMkM7QUhtbkZqRDtBb0I1MkZJO0VLWEo7SUxZTSx3QkFBZ0I7SUFBaEIsZ0JBQWdCO0VwQmczRnBCO0FBQ0Y7QXlCNzNGQTtFQUlJLFVBQVU7QXpCNjNGZDtBeUJ6M0ZB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OztFQTJCSSxVQUFVO0E5QnV3R2Q7QThCbHlHQTtFQWdDSSxVQUFVO0E5QnN3R2Q7QThCdHlHQTs7RXBCZUksMEJvQnNCbUQ7RXBCckJuRCw2Qm9CcUJtRDtBOUJ1d0d2RDtBOEI1eUdBOztFcEI2QkkseUJvQlNtRDtFcEJSbkQsNEJvQlFtRDtBOUI0d0d2RDtBOEJsekdBO0VBNENJLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHlCQUFtQjtVQUFuQixtQkFBbUI7QTlCMHdHdkI7QThCdnpHQTs7RXBCZUksMEJvQmlDNkU7RXBCaEM3RSw2Qm9CZ0M2RTtBOUI2d0dqRjtBOEI3ekdBO0VwQjZCSSx5Qm9Cb0JzRTtFcEJuQnRFLDRCb0JtQnNFO0E5Qml4RzFFO0E4QnR3R0E7O0VBRUUsb0JBQWE7RUFBYixhQUFhO0E5Qnl3R2Y7QThCM3dHQTs7RUFRSSxrQkFBa0I7RUFDbEIsVUFBVTtBOUJ3d0dkO0E4Qmp4R0E7O0VBWU0sVUFBVTtBOUIwd0doQjtBOEJ0eEdBOzs7Ozs7OztFQW9CSSxpQjNCeUo2QjtBSG9uR2pDO0E4Qnp3R0E7RUFBdUIsa0IzQnFKVTtBSHduR2pDO0E4QjV3R0E7RUFBc0IsaUIzQm9KVztBSDRuR2pDO0E4Qnh3R0E7RUFDRSxvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHlCM0JnU2tDO0UyQi9SbEMsZ0JBQWdCO0UxQndCWixlQXRDWTtFMEJnQmhCLGdCM0IwTCtCO0UyQnpML0IsZ0IzQjhMK0I7RTJCN0wvQixjM0I3RmdCO0UyQjhGaEIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQix5QjNCckdnQjtFMkJzR2hCLHlCM0JwR2dCO0VPTmQsc0JQNk9nQztBSHlvR3BDO0E4Qnh4R0E7O0VBa0JJLGFBQWE7QTlCMndHakI7QThCandHQTs7RUFFRSxnQ1pqQjhEO0FsQnF4R2hFO0E4Qmp3R0E7Ozs7OztFQU1FLG9CM0IyUWdDO0VDdFI1QixrQkF0Q1k7RTBCbURoQixnQjNCZ0crQjtFT3ZPN0IscUJQOE8rQjtBSDhwR25DO0E4Qmp3R0E7O0VBRUUsa0NabEM4RDtBbEJzeUdoRTtBOEJqd0dBOzs7Ozs7RUFNRSx1QjNCcVBpQztFQ2pSN0IsbUJBdENZO0UwQm9FaEIsZ0IzQmdGK0I7RU94TzdCLHFCUCtPK0I7QUg4cUduQztBOEJqd0dBOztFQUVFLHNCQUEwRTtBOUJvd0c1RTtBOEJ6dkdBOzs7Ozs7RXBCekpJLDBCb0IrSjRCO0VwQjlKNUIsNkJvQjhKNEI7QTlCNnZHaEM7QThCMXZHQTs7Ozs7O0VwQnBKSSx5Qm9CMEoyQjtFcEJ6SjNCLDRCb0J5SjJCO0E5Qjh2Ry9CO0ErQmw3R0E7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLGtCQUErQztFQUMvQyxvQkFBcUU7QS9CcTdHdkU7QStCbDdHQTtFQUNFLDJCQUFvQjtFQUFwQixvQkFBb0I7RUFDcEIsa0I1QjZmMEM7QUh3N0Y1QztBK0JsN0dBO0VBQ0Usa0JBQWtCO0VBQ2xCLE9BQU87RUFDUCxXQUFXO0VBQ1gsVzVCeWYwQztFNEJ4ZjFDLGVBQWtGO0VBQ2xGLFVBQVU7QS9CcTdHWjtBK0IzN0dBO0VBU0ksVzVCdkJXO0U0QndCWCxxQjVCS2E7RW1COUJiLHlCbkI4QmE7QUhrN0dqQjtBK0JqOEdBO0VBb0JNLGdENUJMVztBSHM3R2pCO0ErQnI4R0E7RUF5QkkscUI1QjBic0U7QUhzL0YxRTtBK0J6OEdBO0VBNkJJLFc1QjNDVztFNEI0Q1gseUI1QnNmOEU7RTRCcmY5RSxxQjVCcWY4RTtBSDI3RmxGO0ErQi84R0E7RUF1Q00sYzVCL0NZO0FIMjlHbEI7QStCbjlHQTtFQTBDUSx5QjVCdERVO0FIbStHbEI7QStCbjZHQTtFQUNFLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFFaEIsbUJBQW1CO0EvQnE2R3JCO0ErQno2R0E7RUFTSSxrQkFBa0I7RUFDbEIsWUFBK0U7RUFDL0UsYUFBK0Q7RUFDL0QsY0FBYztFQUNkLFc1QjRid0M7RTRCM2J4QyxZNUIyYndDO0U0QjFieEMsb0JBQW9CO0VBQ3BCLFdBQVc7RUFDWCxzQjVCbkZXO0U0Qm9GWCx5QjVCb0o2QjtBSGd4R2pDO0ErQnQ3R0E7RUF3Qkksa0JBQWtCO0VBQ2xCLFlBQStFO0VBQy9FLGFBQStEO0VBQy9ELGNBQWM7RUFDZCxXNUI2YXdDO0U0QjVheEMsWTVCNGF3QztFNEIzYXhDLFdBQVc7RUFDWCxtQ0FBZ0U7QS9CazZHcEU7QStCejVHQTtFckI1R0ksc0JQNk9nQztBSDR4R3BDO0ErQjc1R0E7RUFPTSxrT2I1RXFJO0FsQnMrRzNJO0ErQmo2R0E7RUFhTSxxQjVCMUZXO0VtQjlCYix5Qm5COEJhO0FIbS9HakI7QStCdDZHQTtFQWtCTSwrS2J2RnFJO0FsQisrRzNJO0ErQjE2R0E7RUF3Qk0sd0M1QnJHVztBSDIvR2pCO0ErQjk2R0E7RUEyQk0sd0M1QnhHVztBSCsvR2pCO0ErQjk0R0E7RUFHSSxrQjVCOForQztBSGkvRm5EO0ErQmw1R0E7RUFRTSw4S2JqSHFJO0FsQisvRzNJO0ErQnQ1R0E7RUFjTSx3QzVCL0hXO0FIMmdIakI7QStCbDRHQTtFQUNFLHFCQUEyRDtBL0JxNEc3RDtBK0J0NEdBO0VBS00sY0FBcUQ7RUFDckQsYzVCc1krRTtFNEJyWS9FLG1CQUFtQjtFQUVuQixxQjVCb1k0RTtBSGdnR2xGO0ErQjc0R0E7RUFhTSx3QmIxRTBEO0VhMkUxRCwwQmIzRTBEO0VhNEUxRCx1QmJ4RDBEO0VheUQxRCx3QmJ6RDBEO0VhMEQxRCx5QjVCbExZO0U0Qm9MWixxQjVCMFg0RTtFaUJwakI1RSxpSmpCc2dCK0g7RWlCdGdCL0gseUpqQnNnQitIO0VpQnRnQi9ILHlJakJzZ0IrSDtFaUJ0Z0IvSCw4S2pCc2dCK0g7QUh3akdySTtBb0J6akhJO0VXa0tKO0lYaktNLHdCQUFnQjtJQUFoQixnQkFBZ0I7RXBCNmpIcEI7QUFDRjtBK0I3NUdBO0VBMEJNLHNCNUJoTVM7RTRCaU1ULHNDQUE0RTtFQUE1RSw4QkFBNEU7QS9CdTRHbEY7QStCbDZHQTtFQWlDTSx3QzVCMUtXO0FIK2lIakI7QStCejNHQTtFQUNFLHFCQUFxQjtFQUNyQixXQUFXO0VBQ1gsbUNiN0c4RDtFYThHOUQsMEM1QndLa0M7RUN2UTlCLGVBdENZO0UyQndJaEIsZ0I1QmtFK0I7RTRCakUvQixnQjVCc0UrQjtFNEJyRS9CLGM1QnJOZ0I7RTRCc05oQixzQkFBc0I7RUFDdEIsdU81QnVXK0k7RTRCdFcvSSx5QjVCM05nQjtFT05kLHNCUDZPZ0M7RTRCVGxDLHdCQUFnQjtFQUFoQixxQkFBZ0I7RUFBaEIsZ0JBQWdCO0EvQjAzR2xCO0ErQno0R0E7RUFrQkkscUI1QjRQc0U7RTRCM1B0RSxVQUFVO0VBSVIsZ0Q1QjdNVztBSHFrSGpCO0ErQi80R0E7RUFnQ00sYzVCNU9ZO0U0QjZPWixzQjVCcFBTO0FIdW1IZjtBK0JwNUdBO0VBdUNJLFlBQVk7RUFDWixzQjVCb0lnQztFNEJuSWhDLHNCQUFzQjtBL0JpM0cxQjtBK0IxNUdBO0VBNkNJLGM1QjFQYztFNEIyUGQseUI1Qi9QYztBSGduSGxCO0ErQi81R0E7RUFtREksYUFBYTtBL0JnM0dqQjtBK0JuNkdBO0VBd0RJLGtCQUFrQjtFQUNsQiwwQjVCclFjO0FIb25IbEI7QStCMzJHQTtFQUNFLGtDYnhLOEQ7RWF5SzlELG9CNUJzSGtDO0U0QnJIbEMsdUI1QnFIa0M7RTRCcEhsQyxvQjVCcUhpQztFQ2pSN0IsbUJBdENZO0FKaWpIbEI7QStCMzJHQTtFQUNFLGdDYmhMOEQ7RWFpTDlELG1CNUJtSGlDO0U0QmxIakMsc0I1QmtIaUM7RTRCakhqQyxrQjVCa0hnQztFQ3RSNUIsa0JBdENZO0FKeWpIbEI7QStCdDJHQTtFQUNFLGtCQUFrQjtFQUNsQixxQkFBcUI7RUFDckIsV0FBVztFQUNYLG1DYmhNOEQ7RWFpTTlELGdCQUFnQjtBL0J5MkdsQjtBK0J0MkdBO0VBQ0Usa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixXQUFXO0VBQ1gsbUNieE04RDtFYXlNOUQsU0FBUztFQUNULFVBQVU7QS9CeTJHWjtBK0IvMkdBO0VBU0kscUI1QjJLc0U7RTRCMUt0RSxnRDVCMVJhO0FIb29IakI7QStCcDNHQTs7RUFnQkkseUI1QjNUYztBSG9xSGxCO0ErQnozR0E7RUFxQk0saUI1QmtVUTtBSHNpR2Q7QStCNzNHQTtFQTBCSSwwQkFBMEI7QS9CdTJHOUI7QStCbjJHQTtFQUNFLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sUUFBUTtFQUNSLE9BQU87RUFDUCxVQUFVO0VBQ1YsbUNieE84RDtFYXlPOUQseUI1QjZDa0M7RTRCM0NsQyxnQjVCeEQrQjtFNEJ5RC9CLGdCNUJwRCtCO0U0QnFEL0IsYzVCL1VnQjtFNEJnVmhCLHNCNUJ2VmE7RTRCd1ZiLHlCNUJwVmdCO0VPTmQsc0JQNk9nQztBSG05R3BDO0ErQm4zR0E7RUFrQkksa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixRQUFRO0VBQ1IsU0FBUztFQUNULFVBQVU7RUFDVixjQUFjO0VBQ2QsNkJiMVA0RDtFYTJQNUQseUI1QjJCZ0M7RTRCMUJoQyxnQjVCcEU2QjtFNEJxRTdCLGM1Qi9WYztFNEJnV2QsaUJBQWlCO0VUeFdqQix5Qm5CR2M7RTRCdVdkLG9CQUFvQjtFckIzV3BCLGtDcUI0V2dGO0EvQnEyR3BGO0ErQjMxR0E7RUFDRSxXQUFXO0VBQ1gsY2JoUjJCO0VhaVIzQixVQUFVO0VBQ1YsNkJBQTZCO0VBQzdCLHdCQUFnQjtFQUFoQixxQkFBZ0I7RUFBaEIsZ0JBQWdCO0EvQjgxR2xCO0ErQm4yR0E7RUFRSSxhQUFhO0EvQisxR2pCO0ErQnYyR0E7RUFZOEIsZ0U1Qm5XYjtBSGtzSGpCO0ErQjMyR0E7RUFhOEIsZ0U1QnBXYjtBSHNzSGpCO0ErQi8yR0E7RUFjOEIsZ0U1QnJXYjtBSDBzSGpCO0ErQm4zR0E7RUFrQkksU0FBUztBL0JxMkdiO0ErQnYzR0E7RUFzQkksVzVCMk42QztFNEIxTjdDLFk1QjBONkM7RTRCek43QyxvQkFBeUU7RVQ3WXpFLHlCbkI4QmE7RTRCaVhiLFM1QjBOMEM7RU8xbUIxQyxtQlAybUI2QztFaUIxbUIzQyxvSGpCc2dCK0g7RWlCdGdCL0gsNEdqQnNnQitIO0U0Qm5Iakksd0JBQWdCO0VBQWhCLGdCQUFnQjtBL0JvMkdwQjtBb0JsdkhJO0VXZ1hKO0lYL1dNLHdCQUFnQjtJQUFoQixnQkFBZ0I7RXBCc3ZIcEI7QUFDRjtBK0J4NEdBO0VUclhJLHlCbkI4bUIyRTtBSG1wRy9FO0ErQjU0R0E7RUFzQ0ksVzVCb01vQztFNEJuTXBDLGM1Qm9NcUM7RTRCbk1yQyxrQkFBa0I7RUFDbEIsZTVCbU11QztFNEJsTXZDLHlCNUIzWmM7RTRCNFpkLHlCQUF5QjtFckJqYXpCLG1CUG9tQm9DO0FId3FHeEM7QStCdDVHQTtFQWlESSxXNUJnTTZDO0U0Qi9MN0MsWTVCK0w2QztFbUJ0bUI3Qyx5Qm5COEJhO0U0QjJZYixTNUJnTTBDO0VPMW1CMUMsbUJQMm1CNkM7RWlCMW1CM0Msb0hqQnNnQitIO0VpQnRnQi9ILDRHakJzZ0IrSDtFNEJ6RmpJLHFCQUFnQjtFQUFoQixnQkFBZ0I7QS9CdzJHcEI7QW9CaHhISTtFV2dYSjtJWC9XTSx3QkFBZ0I7SUFBaEIsZ0JBQWdCO0VwQm94SHBCO0FBQ0Y7QStCdDZHQTtFVHJYSSx5Qm5COG1CMkU7QUhpckcvRTtBK0IxNkdBO0VBZ0VJLFc1QjBLb0M7RTRCektwQyxjNUIwS3FDO0U0QnpLckMsa0JBQWtCO0VBQ2xCLGU1QnlLdUM7RTRCeEt2Qyx5QjVCcmJjO0U0QnNiZCx5QkFBeUI7RXJCM2J6QixtQlBvbUJvQztBSHNzR3hDO0ErQnA3R0E7RUEyRUksVzVCc0s2QztFNEJySzdDLFk1QnFLNkM7RTRCcEs3QyxhQUFhO0VBQ2Isb0I1QjlEK0I7RTRCK0QvQixtQjVCL0QrQjtFbUJyWS9CLHlCbkI4QmE7RTRCd2FiLFM1Qm1LMEM7RU8xbUIxQyxtQlAybUI2QztFaUIxbUIzQyxvSGpCc2dCK0g7RWlCdGdCL0gsNEdqQnNnQitIO0U0QjVEakksZ0JBQWdCO0EvQjQyR3BCO0FvQmp6SEk7RVdnWEo7SVgvV00sd0JBQWdCO0lBQWhCLGdCQUFnQjtFcEJxekhwQjtBQUNGO0ErQnY4R0E7RVRyWEkseUJuQjhtQjJFO0FIa3RHL0U7QStCMzhHQTtFQTZGSSxXNUI2SW9DO0U0QjVJcEMsYzVCNklxQztFNEI1SXJDLGtCQUFrQjtFQUNsQixlNUI0SXVDO0U0QjNJdkMsNkJBQTZCO0VBQzdCLHlCQUF5QjtFQUN6QixvQkFBNEM7QS9CazNHaEQ7QStCcjlHQTtFQXdHSSx5QjVCemRjO0VPTGQsbUJQb21Cb0M7QUg0dUd4QztBK0IxOUdBO0VBNkdJLGtCQUFrQjtFQUNsQix5QjVCL2RjO0VPTGQsbUJQb21Cb0M7QUhrdkd4QztBK0JoK0dBO0VBb0hNLHlCNUJuZVk7QUhtMUhsQjtBK0JwK0dBO0VBd0hNLGVBQWU7QS9CZzNHckI7QStCeCtHQTtFQTRITSx5QjVCM2VZO0FIMjFIbEI7QStCNStHQTtFQWdJTSxlQUFlO0EvQmczR3JCO0ErQmgvR0E7RUFvSU0seUI1Qm5mWTtBSG0ySGxCO0ErQjMyR0E7OztFWDlmTSxvSGpCc2dCK0g7RWlCdGdCL0gsNEdqQnNnQitIO0FIeTJHckk7QW9CMTJISTtFV3lmSjs7O0lYeGZNLHdCQUFnQjtJQUFoQixnQkFBZ0I7RXBCZzNIcEI7QUFDRjtBZ0N4M0hBO0VBQ0Usb0JBQWE7RUFBYixhQUFhO0VBQ2IsZUFBZTtFQUNmLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0FoQzIzSGxCO0FnQ3gzSEE7RUFDRSxjQUFjO0VBQ2Qsb0I3QjZxQnNDO0FIOHNHeEM7QUsxM0hFO0UyQkVFLHFCQUFxQjtBaEM0M0h6QjtBZ0NqNEhBO0VBVUksYzdCVmM7RTZCV2Qsb0JBQW9CO0VBQ3BCLGVBQWU7QWhDMjNIbkI7QWdDbjNIQTtFQUNFLGdDN0J4QmdCO0FIODRIbEI7QWdDdjNIQTtFQUlJLG1CN0IwTTZCO0FINnFIakM7QWdDMzNIQTtFQVFJLDZCQUFnRDtFdEIzQmhELCtCUG9PZ0M7RU9uT2hDLGdDUG1PZ0M7QUhnckhwQztBS2w1SEU7RTJCNkJJLHFDN0JuQ1k7QUg0NUhsQjtBZ0NyNEhBO0VBZ0JNLGM3QnBDWTtFNkJxQ1osNkJBQTZCO0VBQzdCLHlCQUF5QjtBaEN5M0gvQjtBZ0MzNEhBOztFQXdCSSxjN0IzQ2M7RTZCNENkLHNCN0JuRFc7RTZCb0RYLGtDN0JwRFc7QUg0NkhmO0FnQ2w1SEE7RUErQkksZ0I3QitLNkI7RU9qTzdCLHlCc0JvRDRCO0V0Qm5ENUIsMEJzQm1ENEI7QWhDdTNIaEM7QWdDOTJIQTtFdEJ0RUksc0JQNk9n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eStIeEI7RWlDamlJRztJQTRESyxhQUFhO0VqQ3crSHJCO0FBQ0Y7QWlDMWlJQTtFQXlCUSw4QkFBcUI7RUFBckIsNkJBQXFCO1VBQXJCLHFCQUFxQjtFQUNyQix1QkFBMkI7VUFBM0IsMkJBQTJCO0FqQ3FoSW5DO0FpQy9pSUE7O0VBUVUsZ0JBQWdCO0VBQ2hCLGVBQWU7QWpDNGlJekI7QWlDcmpJQTtFQTZCVSw4QkFBbUI7RUFBbkIsNkJBQW1CO1VBQW5CLG1CQUFtQjtBakM0aEk3QjtBaUN6aklBO0VBZ0NZLGtCQUFrQjtBakM2aEk5QjtBaUM3aklBO0VBb0NZLHFCOUJnaUI2QjtFOEIvaEI3QixvQjlCK2hCNkI7QUg4L0d6QztBaUNsa0lBOztFQTJDVSxpQkFBaUI7QWpDNGhJM0I7QWlDdmtJQTtFQTBEVSwrQkFBd0I7RUFBeEIsd0JBQXdCO0VBR3hCLGdCQUFnQjtBakMrZ0kxQjtBaUM1a0lBO0VBaUVVLGFBQWE7QWpDK2dJdkI7QWlDbGdJQTtFQUVJLHlCOUIvTVc7QUhtdElmO0FLcHRJRTtFNEJtTkkseUI5QmxOUztBSHV0SWY7QWlDMWdJQTtFQVdNLHlCOUJ4TlM7QUgydElmO0FLNXRJRTtFNEI0Tk0seUI5QjNOTztBSCt0SWY7QWlDbGhJQTtFQWtCUSx5QjlCL05PO0FIbXVJZjtBaUN0aElBOzs7O0VBMEJNLHlCOUJ2T1M7QUgwdUlmO0FpQzdoSUE7RUErQkkseUI5QjVPVztFOEI2T1gsZ0M5QjdPVztBSCt1SWY7QWlDbGlJQTtFQW9DSSwrUWZ0TnVJO0FsQnd0STNJO0FpQ3RpSUE7RUF3Q0kseUI5QnJQVztBSHV2SWY7QWlDMWlJQTtFQTBDTSx5QjlCdlBTO0FIMnZJZjtBSzV2SUU7RTRCMlBNLHlCOUIxUE87QUgrdklmO0FpQzkvSEE7RUFFSSxXOUI3UVc7QUg2d0lmO0FLcHdJRTtFNEJ1UUksVzlCaFJTO0FIaXhJZjtBaUN0Z0lBO0VBV00sK0I5QnRSUztBSHF4SWY7QUs1d0lFO0U0QmdSTSxnQzlCelJPO0FIeXhJZjtBaUM5Z0lBO0VBa0JRLGdDOUI3Uk87QUg2eElmO0FpQ2xoSUE7Ozs7RUEwQk0sVzlCclNTO0FIb3lJZjtBaUN6aElBO0VBK0JJLCtCOUIxU1c7RThCMlNYLHNDOUIzU1c7QUh5eUlmO0FpQzloSUE7RUFvQ0kscVJmMVF1STtBbEJ3d0kzSTtBaUNsaUlBO0VBd0NJLCtCOUJuVFc7QUhpeklmO0FpQ3RpSUE7RUEwQ00sVzlCclRTO0FIcXpJZjtBSzV5SUU7RTRCK1NNLFc5QnhUTztBSHl6SWY7QWtDNXpJQTtFQUNFLGtCQUFrQjtFQUNsQixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixZQUFZO0VBRVoscUJBQXFCO0VBQ3JCLHNCL0JKYTtFK0JLYiwyQkFBMkI7RUFDM0Isc0MvQklhO0VPWlgsc0JQNk9nQztBSDBsSXBDO0FrQ3gwSUE7RUFhSSxlQUFlO0VBQ2YsY0FBYztBbEMreklsQjtBa0M3MElBO0V4QlVJLCtCUG9PZ0M7RU9uT2hDLGdDUG1PZ0M7QUhvbUlwQztBa0NsMUlBO0V4QndCSSxtQ1BzTmdDO0VPck5oQyxrQ1BxTmdDO0FIeW1JcEM7QWtDenpJQTtFQUdFLG1CQUFjO1VBQWQsY0FBYztFQUdkLGVBQWU7RUFDZixnQi9Cc3hCeUM7QUhraUgzQztBa0NweklBO0VBQ0Usc0IvQmd4QndDO0FIdWlIMUM7QWtDcHpJQTtFQUNFLHFCQUErQjtFQUMvQixnQkFBZ0I7QWxDdXpJbEI7QWtDcHpJQTtFQUNFLGdCQUFnQjtBbEN1eklsQjtBS2wySUU7RTZCZ0RFLHFCQUFxQjtBbENzekl6QjtBa0N4eklBO0VBTUksb0IvQit2QnVDO0FIdWpIM0M7QWtDOXlJQTtFQUNFLHdCL0JzdkJ5QztFK0JydkJ6QyxnQkFBZ0I7RUFFaEIscUMvQjNEYTtFK0I0RGIsNkMvQjVEYTtBSDQySWY7QWtDcnpJQTtFeEJuRUksMER3QjJFOEU7QWxDaXpJbEY7QWtDenpJQTtFQWFNLGFBQWE7QWxDZ3pJbkI7QWtDM3lJQTtFQUNFLHdCL0JvdUJ5QztFK0JudUJ6QyxxQy9CM0VhO0UrQjRFYiwwQy9CNUVhO0FIMDNJZjtBa0NqeklBO0V4QnJGSSwwRFErSDREO0FsQjJ3SWhFO0FrQ3R5SUE7RUFDRSx1QkFBaUM7RUFDakMsdUIvQm10QndDO0UrQmx0QnhDLHNCQUFnQztFQUNoQyxnQkFBZ0I7QWxDeXlJbEI7QWtDdHlJQTtFQUNFLHVCQUFpQztFQUNqQyxzQkFBZ0M7QWxDeXlJbEM7QWtDcnlJQTtFQUNFLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sUUFBUTtFQUNSLFNBQVM7RUFDVCxPQUFPO0VBQ1AsZ0IvQjhzQnlDO0FIMGxIM0M7QWtDcnlJQTs7O0VBR0UsY0FBYztFQUNkLFdBQVc7QWxDd3lJYjtBa0NyeUlBOztFeEJ4SEksMkNRc0g0RDtFUnJINUQsNENRcUg0RDtBbEI2eUloRTtBa0N0eUlBOztFeEIvR0ksK0NRd0c0RDtFUnZHNUQsOENRdUc0RDtBbEJtekloRTtBa0NweUlBO0VBRUksbUIvQnVyQnNEO0FIK21IMUQ7QWMvM0lJO0VvQnVGSjtJQU1JLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDhCQUFtQjtJQUFuQiw2QkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLG1CL0JpckJzRDtJK0JockJ0RCxrQi9CZ3JCc0Q7RUh1bkh4RDtFa0NoeklGO0lBYU0sbUJBQVk7WUFBWixZQUFZO0lBQ1osa0IvQjJxQm9EO0krQjFxQnBELGdCQUFnQjtJQUNoQixpQi9CeXFCb0Q7RUg2bkh4RDtBQUNGO0FrQzd4SUE7RUFJSSxtQi9CMnBCc0Q7QUhrb0gxRDtBY2w1SUk7RW9CaUhKO0lBUUksb0JBQWE7SUFBYixhQUFhO0lBQ2IsOEJBQW1CO0lBQW5CLDZCQUFtQjtZQUFuQixtQkFBbUI7RWxDOHhJckI7RWtDdnlJRjtJQWNNLG1CQUFZO1lBQVosWUFBWTtJQUNaLGdCQUFnQjtFbEM0eElwQjtFa0MzeUlGO0lBa0JRLGNBQWM7SUFDZCxjQUFjO0VsQzR4SXBCO0VrQy95SUY7SXhCeEpJLDBCd0JpTG9DO0l4QmhMcEMsNkJ3QmdMb0M7RWxDMHhJdEM7RWtDbnpJRjs7SUE4QlksMEJBQTBCO0VsQ3l4SXBDO0VrQ3Z6SUY7O0lBbUNZLDZCQUE2QjtFbEN3eEl2QztFa0MzeklGO0l4QjFJSSx5QndCa0xtQztJeEJqTG5DLDRCd0JpTG1DO0VsQ3V4SXJDO0VrQy96SUY7O0lBNkNZLHlCQUF5QjtFbENzeEluQztFa0NuMElGOztJQWtEWSw0QkFBNEI7RWxDcXhJdEM7QUFDRjtBa0N6d0lBO0VBRUksc0IvQmdsQnNDO0FIMnJIMUM7QWM3N0lJO0VvQmdMSjtJQU1JLHVCL0I2bEJpQztJK0I3bEJqQyxvQi9CNmxCaUM7SStCN2xCakMsZS9CNmxCaUM7SStCNWxCakMsMkIvQjZsQnVDO0krQjdsQnZDLHdCL0I2bEJ1QztJK0I3bEJ2QyxtQi9CNmxCdUM7SStCNWxCdkMsVUFBVTtJQUNWLFNBQVM7RWxDNHdJWDtFa0NyeElGO0lBWU0scUJBQXFCO0lBQ3JCLFdBQVc7RWxDNHdJZjtBQUNGO0FrQ253SUE7RUFFSSxnQkFBZ0I7QWxDcXdJcEI7QWtDdndJQTtFQUtNLGdCQUFnQjtFeEI1T2xCLDZCd0I2T2lDO0V4QjVPakMsNEJ3QjRPaUM7QWxDdXdJckM7QWtDN3dJQTtFeEJyUEkseUJ3QitQOEI7RXhCOVA5QiwwQndCOFA4QjtBbEN3d0lsQztBa0NseElBO0V4QjlQSSxnQndCNFEwQjtFQUN4QixtQi9CbkMyQjtBSDJ5SWpDO0FtQzFoSkE7RUFDRSxvQkFBYTtFQUFiLGFBQWE7RUFDYixlQUFlO0VBQ2YscUJoQytoQ3NDO0VnQzloQ3RDLG1CaENpaUNzQztFZ0MvaEN0QyxnQkFBZ0I7RUFDaEIseUJoQ0VnQjtFT0pkLHNCUDZPZ0M7QUhreklwQztBbUN6aEpBO0VBR0ksb0JoQ3FoQ3FDO0FIcWdIekM7QW1DN2hKQTtFQU1NLHFCQUFxQjtFQUNyQixxQmhDaWhDbUM7RWdDaGhDbkMsY2hDTlk7RWdDT1osWWhDc2hDdUM7QUhxZ0g3QztBbUNwaUpBO0VBb0JJLDBCQUEwQjtBbkNvaEo5QjtBbUN4aUpBO0VBd0JJLHFCQUFxQjtBbkNvaEp6QjtBbUM1aUpBO0VBNEJJLGNoQzFCYztBSDhpSmxCO0FvQzNqSkE7RUFDRSxvQkFBYTtFQUFiLGFBQWE7RTdCR2IsZUFBZTtFQUNmLGdCQUFnQjtFR0FkLHNCUDZPZ0M7QUhnMUlwQztBb0M1akpBO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCx1QmpDZ3hCd0M7RWlDL3dCeEMsaUJqQ3FPK0I7RWlDcE8vQixpQmpDbXhCc0M7RWlDbHhCdEMsY2pDd0JlO0VpQ3ZCZixzQmpDTmE7RWlDT2IseUJqQ0pnQjtBSG1rSmxCO0FvQ3ZrSkE7RUFXSSxVQUFVO0VBQ1YsY2pDa0s4RDtFaUNqSzlELHFCQUFxQjtFQUNyQix5QmpDWGM7RWlDWWQscUJqQ1hjO0FIMmtKbEI7QW9DL2tKQTtFQW1CSSxVQUFVO0VBQ1YsVWpDNHdCaUM7RWlDM3dCakMsZ0RqQ1NhO0FIdWpKakI7QW9DNWpKQTtFQUdNLGNBQWM7RTFCQ2hCLCtCUCtNZ0M7RU85TWhDLGtDUDhNZ0M7QUgrMklwQztBb0Nsa0pBO0UxQlZJLGdDUDZOZ0M7RU81TmhDLG1DUDROZ0M7QUhvM0lwQztBb0N2a0pBO0VBY0ksVUFBVTtFQUNWLFdqQ3ZDVztFaUN3Q1gseUJqQ1hhO0VpQ1liLHFCakNaYTtBSHlrSmpCO0FvQzlrSkE7RUFxQkksY2pDdkNjO0VpQ3dDZCxvQkFBb0I7RUFFcEIsWUFBWTtFQUNaLHNCakNqRFc7RWlDa0RYLHFCakMvQ2M7QUgybUpsQjtBcUNsbkpFO0VBQ0UsdUJsQ3l4QnNDO0VDOXBCcEMsa0JBdENZO0VpQ25GZCxnQmxDc082QjtBSCs0SWpDO0FxQ2huSk07RTNCd0JGLDhCUGdOK0I7RU8vTS9CLGlDUCtNK0I7QUg2NEluQztBcUNobkpNO0UzQktGLCtCUDhOK0I7RU83Ti9CLGtDUDZOK0I7QUhrNUluQztBcUNsb0pFO0VBQ0UsdUJsQ3V4QnFDO0VDNXBCbkMsbUJBdENZO0VpQ25GZCxnQmxDdU82QjtBSDg1SWpDO0FxQ2hvSk07RTNCd0JGLDhCUGlOK0I7RU9oTi9CLGlDUGdOK0I7QUg0NUluQztBcUNob0pNO0UzQktGLCtCUCtOK0I7RU85Ti9CLGtDUDhOK0I7QUhpNkluQztBc0NocEpBO0VBQ0UscUJBQXFCO0VBQ3JCLHFCbkN3NUJzQztFQ3YxQnBDLGNBQVc7RWtDL0RiLGdCbkMyUitCO0VtQzFSL0IsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsd0JBQXdCO0U1QlJ0QixzQlA2T2dDO0VpQjVPOUIsNklqQjZiNkk7RWlCN2I3SSxxSWpCNmI2STtBSCt0SW5KO0FvQnZwSkk7RWtCTko7SWxCT00sd0JBQWdCO0lBQWhCLGdCQUFnQjtFcEIycEpwQjtBQUNGO0FLeHBKRTtFaUNHSSxxQkFBcUI7QXRDeXBKM0I7QXNDdnFKQTtFQW9CSSxhQUFhO0F0Q3VwSmpCO0FzQ2xwSkE7RUFDRSxrQkFBa0I7RUFDbEIsU0FBUztBdENxcEpYO0FzQzlvSkE7RUFDRSxvQm5DNjNCc0M7RW1DNTNCdEMsbUJuQzQzQnNDO0VPaDZCcEMsb0JQbTZCcUM7QUhteEh6QztBc0N6b0pFO0VDakRBLFdwQ01hO0VvQ0xiLHlCcENrQ2U7QUg0cEpqQjtBS2hySkU7RWtDVkksV3BDQ1M7RW9DQVQseUJBQWtDO0F2QzhySnhDO0F1Q2pzSlU7RUFRSixVQUFVO0VBQ1YsK0NwQ3VCVztBSHNxSmpCO0FzQ3hwSkU7RUNqREEsV3BDTWE7RW9DTGIseUJwQ1dnQjtBSGtzSmxCO0FLL3JKRTtFa0NWSSxXcENDUztFb0NBVCx5QkFBa0M7QXZDNnNKeEM7QXVDaHRKVTtFQVFKLFVBQVU7RUFDVixpRHBDQVk7QUg0c0psQjtBc0N2cUpFO0VDakRBLFdwQ01hO0VvQ0xiLHlCcEN5Q2U7QUhtckpqQjtBSzlzSkU7RWtDVkksV3BDQ1M7RW9DQVQseUJBQWtDO0F2QzR0SnhDO0F1Qy90SlU7RUFRSixVQUFVO0VBQ1YsK0NwQzhCVztBSDZySmpCO0FzQ3RySkU7RUNqREEsV3BDTWE7RW9DTGIseUJwQzJDZTtBSGdzSmpCO0FLN3RKRTtFa0NWSSxXcENDUztFb0NBVCx5QkFBa0M7QXZDMnVKeEM7QXVDOXVKVTtFQVFKLFVBQVU7RUFDVixnRHBDZ0NXO0FIMHNKakI7QXNDcnNKRTtFQ2pEQSxjcENlZ0I7RW9DZGhCLHlCcEN3Q2U7QUhrdEpqQjtBSzV1SkU7RWtDVkksY3BDVVk7RW9DVFoseUJBQWtDO0F2QzB2SnhDO0F1Qzd2SlU7RUFRSixVQUFVO0VBQ1YsK0NwQzZCVztBSDR0SmpCO0FzQ3B0SkU7RUNqREEsV3BDTWE7RW9DTGIseUJwQ3NDZTtBSG11SmpCO0FLM3ZKRTtFa0NWSSxXcENDUztFb0NBVCx5QkFBa0M7QXZDeXdKeEM7QXVDNXdKVTtFQVFKLFVBQVU7RUFDViwrQ3BDMkJXO0FINnVKakI7QXNDbnVKRTtFQ2pEQSxjcENlZ0I7RW9DZGhCLHlCcENNZ0I7QUhreEpsQjtBSzF3SkU7RWtDVkksY3BDVVk7RW9DVFoseUJBQWtDO0F2Q3d4SnhDO0F1QzN4SlU7RUFRSixVQUFVO0VBQ1YsaURwQ0xZO0FINHhKbEI7QXNDbHZKRTtFQ2pEQSxXcENNYTtFb0NMYix5QnBDYWdCO0FIMHhKbEI7QUt6eEpFO0VrQ1ZJLFdwQ0NTO0VvQ0FULHlCQUFrQztBdkN1eUp4QztBdUMxeUpVO0VBUUosVUFBVTtFQUNWLDhDcENFWTtBSG95SmxCO0F3Q256SkE7RUFDRSxrQkFBb0Q7RUFDcEQsbUJyQ3F6QnNDO0VxQ256QnRDLHlCckNLZ0I7RU9KZCxxQlA4TytCO0FIdWtKbkM7QWM5dkpJO0UwQjVESjtJQVFJLGtCckMreUJvQztFSHdnSXRDO0FBQ0Y7QXdDcHpKQTtFQUNFLGdCQUFnQjtFQUNoQixlQUFlO0U5QlRiLGdCOEJVc0I7QXhDdXpKMUI7QXlDbDBKQTtFQUNFLGtCQUFrQjtFQUNsQix3QnRDcTlCeUM7RXNDcDlCekMsbUJ0Q3E5QnNDO0VzQ3A5QnRDLDZCQUE2QztFL0JIM0Msc0JQNk9nQztBSDRsSnBDO0F5Q2owSkE7RUFFRSxjQUFjO0F6Q20wSmhCO0F5Qy96SkE7RUFDRSxnQnRDZ1IrQjtBSGtqSmpDO0F5QzF6SkE7RUFDRSxtQkFBc0Q7QXpDNnpKeEQ7QXlDOXpKQTtFQUtJLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sUUFBUTtFQUNSLHdCdEN1N0J1QztFc0N0N0J2QyxjQUFjO0F6QzZ6SmxCO0F5Q256SkU7RUM5Q0EsY3hCOEZnRTtFSXpGOUQseUJKeUY4RDtFd0I1RmhFLHFCeEI0RmdFO0FsQnl3SmxFO0EwQ24ySkU7RUFDRSx5QkFBcUM7QTFDczJKekM7QTBDbjJKRTtFQUNFLGNBQTBCO0ExQ3MySjlCO0F5Q2owSkU7RUM5Q0EsY3hCOEZnRTtFSXpGOUQseUJKeUY4RDtFd0I1RmhFLHFCeEI0RmdFO0FsQnV4SmxFO0EwQ2ozSkU7RUFDRSx5QkFBcUM7QTFDbzNKekM7QTBDajNKRTtFQUNFLGNBQTBCO0ExQ28zSjlCO0F5Qy8wSkU7RUM5Q0EsY3hCOEZnRTtFSXpGOUQseUJKeUY4RDtFd0I1RmhFLHFCeEI0RmdFO0FsQnF5SmxFO0EwQy8zSkU7RUFDRSx5QkFBcUM7QTFDazRKekM7QTBDLzNKRTtFQUNFLGNBQTBCO0ExQ2s0SjlCO0F5QzcxSkU7RUM5Q0EsY3hCOEZnRTtFSXpGOUQseUJKeUY4RDtFd0I1RmhFLHFCeEI0RmdFO0FsQm16SmxFO0EwQzc0SkU7RUFDRSx5QkFBcUM7QTFDZzVKekM7QTBDNzRKRTtFQUNFLGNBQTBCO0ExQ2c1SjlCO0F5QzMySkU7RUM5Q0EsY3hCOEZnRTtFSXpGOUQseUJKeUY4RDtFd0I1RmhFLHFCeEI0RmdFO0FsQmkwSmxFO0EwQzM1SkU7RUFDRSx5QkFBcUM7QTFDODVKekM7QTBDMzVKRTtFQUNFLGNBQTBCO0ExQzg1SjlCO0F5Q3ozSkU7RUM5Q0EsY3hCOEZnRTtFSXpGOUQseUJKeUY4RDtFd0I1RmhFLHFCeEI0RmdFO0FsQiswSmxFO0EwQ3o2SkU7RUFDRSx5QkFBcUM7QTFDNDZKekM7QTBDejZKRTtFQUNFLGNBQTBCO0ExQzQ2SjlCO0F5Q3Y0SkU7RUM5Q0EsY3hCOEZnRTtFSXpGOUQseUJKeUY4RDtFd0I1RmhFLHFCeEI0RmdFO0FsQjYxSmxFO0EwQ3Y3SkU7RUFDRSx5QkFBcUM7QTFDMDdKekM7QTBDdjdKRTtFQUNFLGNBQTBCO0ExQzA3SjlCO0F5Q3I1SkU7RUM5Q0EsY3hCOEZnRTtFSXpGOUQseUJKeUY4RDtFd0I1RmhFLHFCeEI0RmdFO0FsQjIySmxFO0EwQ3I4SkU7RUFDRSx5QkFBcUM7QTFDdzhKekM7QTBDcjhKRTtFQUNFLGNBQTBCO0ExQ3c4SjlCO0EyQ2g5SkU7RUFDRTtJQUFPLDJCQUF1QztFM0NvOUpoRDtFMkNuOUpFO0lBQUssd0JBQXdCO0UzQ3M5Si9CO0FBQ0Y7QTJDejlKRTtFQUNFO0lBQU8sMkJBQXVDO0UzQ285SmhEO0UyQ245SkU7SUFBSyx3QkFBd0I7RTNDczlKL0I7QUFDRjtBMkNuOUpBO0VBQ0Usb0JBQWE7RUFBYixhQUFhO0VBQ2IsWXhDODlCc0M7RXdDNzlCdEMsZ0JBQWdCO0V2Q29IWixrQkF0Q1k7RXVDNUVoQix5QnhDSmdCO0VPSmQsc0JQNk9nQztBSGt2SnBDO0EyQ2w5SkE7RUFDRSxvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0Qix3QkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLGdCQUFnQjtFQUNoQixXeENoQmE7RXdDaUJiLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIseUJ4Q1VlO0VpQjlCWCxtQ2pCMCtCNEM7RWlCMStCNUMsMkJqQjArQjRDO0FIZ2dJbEQ7QW9CcitKSTtFdUJPSjtJdkJOTSx3QkFBZ0I7SUFBaEIsZ0JBQWdCO0VwQnkrSnBCO0FBQ0Y7QTJDeDlKQTtFckJhRSxxTUFBNkk7RXFCWDdJLDBCeEN3OEJzQztBSG1oSXhDO0EyQ3Y5SkU7RUFDRSwwRHhDMDhCa0Q7RXdDMThCbEQsa0R4QzA4QmtEO0FIZ2hJdEQ7QTJDdjlKTTtFQUpKO0lBS00sdUJBQWU7SUFBZixlQUFlO0UzQzI5SnJCO0FBQ0Y7QTRDcmdLQTtFQUNFLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHdCQUF1QjtVQUF2Qix1QkFBdUI7QTVDd2dLekI7QTRDcmdLQTtFQUNFLG1CQUFPO1VBQVAsT0FBTztBNUN3Z0tUO0E2QzFnS0E7RUFDRSxvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO1VBQXRCLHNCQUFzQjtFQUd0QixlQUFlO0VBQ2YsZ0JBQWdCO0E3QzJnS2xCO0E2Q2xnS0E7RUFDRSxXQUFXO0VBQ1gsYzFDUGdCO0UwQ1FoQixtQkFBbUI7QTdDcWdLckI7QUszZ0tFO0V3Q1VFLFVBQVU7RUFDVixjMUNiYztFMENjZCxxQkFBcUI7RUFDckIseUIxQ3JCYztBSDBoS2xCO0E2Qy9nS0E7RUFjSSxjMUNqQmM7RTBDa0JkLHlCMUN6QmM7QUg4aEtsQjtBNkM1L0pBO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCx3QjFDODhCeUM7RTBDNThCekMsc0IxQ3pDYTtFMEMwQ2Isc0MxQ2hDYTtBSDhoS2Y7QTZDcGdLQTtFbkM3QkksK0JQb09nQztFT25PaEMsZ0NQbU9nQztBSGswSnBDO0E2Q3pnS0E7RW5DZkksbUNQc05nQztFT3JOaEMsa0NQcU5nQztBSHUwSnBDO0E2QzlnS0E7RUFrQkksYzFDaERjO0UwQ2lEZCxvQkFBb0I7RUFDcEIsc0IxQ3hEVztBSHdqS2Y7QTZDcGhLQTtFQXlCSSxVQUFVO0VBQ1YsVzFDOURXO0UwQytEWCx5QjFDbENhO0UwQ21DYixxQjFDbkNhO0FIa2lLakI7QTZDM2hLQTtFQWdDSSxtQkFBbUI7QTdDKy9KdkI7QTZDL2hLQTtFQW1DTSxnQjFDaUsyQjtFMENoSzNCLHFCMUNnSzJCO0FIZzJKakM7QTZDbC9KSTtFQUNFLDhCQUFtQjtFQUFuQiw2QkFBbUI7VUFBbkIsbUJBQW1CO0E3Q3EvSnpCO0E2Q3QvSkk7RW5DakNBLGtDUHNMZ0M7RU9sTWhDLDBCbUNtRHdDO0E3Q3EvSjVDO0E2QzMvSkk7RW5DN0NBLGdDUGtNZ0M7RU90TGhDLDRCbUM0QzBDO0E3Q3EvSjlDO0E2Q2hnS0k7RUFlTSxhQUFhO0E3Q3EvSnZCO0E2Q3BnS0k7RUFtQk0scUIxQytIdUI7RTBDOUh2QixvQkFBb0I7QTdDcS9KOUI7QTZDemdLSTtFQXVCUSxpQjFDMkhxQjtFMEMxSHJCLHNCMUMwSHFCO0FINDNKakM7QWMvaUtJO0UrQmlDQTtJQUNFLDhCQUFtQjtJQUFuQiw2QkFBbUI7WUFBbkIsbUJBQW1CO0U3Q2toS3ZCO0U2Q25oS0U7SW5DakNBLGtDUHNMZ0M7SU9sTWhDLDBCbUNtRHdDO0U3Q2loSzFDO0U2Q3ZoS0U7SW5DN0NBLGdDUGtNZ0M7SU90TGhDLDRCbUM0QzBDO0U3Q2doSzVDO0U2QzNoS0U7SUFlTSxhQUFhO0U3QytnS3JCO0U2QzloS0U7SUFtQk0scUIxQytIdUI7STBDOUh2QixvQkFBb0I7RTdDOGdLNUI7RTZDbGlLRTtJQXVCUSxpQjFDMkhxQjtJMEMxSHJCLHNCMUMwSHFCO0VIbzVKL0I7QUFDRjtBY3hrS0k7RStCaUNBO0lBQ0UsOEJBQW1CO0lBQW5CLDZCQUFtQjtZQUFuQixtQkFBbUI7RTdDMmlLdkI7RTZDNWlLRTtJbkNqQ0Esa0NQc0xnQztJT2xNaEMsMEJtQ21Ed0M7RTdDMGlLMUM7RTZDaGpLRTtJbkM3Q0EsZ0NQa01nQztJT3RMaEMsNEJtQzRDMEM7RTdDeWlLNUM7RTZDcGpLRTtJQWVNLGFBQWE7RTdDd2lLckI7RTZDdmpLRTtJQW1CTSxxQjFDK0h1QjtJMEM5SHZCLG9CQUFvQjtFN0N1aUs1QjtFNkMzaktFO0lBdUJRLGlCMUMySHFCO0kwQzFIckIsc0IxQzBIcUI7RUg2NkovQjtBQUNGO0Fjam1LSTtFK0JpQ0E7SUFDRSw4QkFBbUI7SUFBbkIsNkJBQW1CO1lBQW5CLG1CQUFtQjtFN0Nva0t2QjtFNkNya0tFO0luQ2pDQSxrQ1BzTGdDO0lPbE1oQywwQm1DbUR3QztFN0Nta0sxQztFNkN6a0tFO0luQzdDQSxnQ1BrTWdDO0lPdExoQyw0Qm1DNEMwQztFN0Nra0s1QztFNkM3a0tFO0lBZU0sYUFBYTtFN0Npa0tyQjtFNkNobEtFO0lBbUJNLHFCMUMrSHVCO0kwQzlIdkIsb0JBQW9CO0U3Q2drSzVCO0U2Q3BsS0U7SUF1QlEsaUIxQzJIcUI7STBDMUhyQixzQjFDMEhxQjtFSHM4Si9CO0FBQ0Y7QWMxbktJO0UrQmlDQTtJQUNFLDhCQUFtQjtJQUFuQiw2QkFBbUI7WUFBbkIsbUJBQW1CO0U3QzZsS3ZCO0U2QzlsS0U7SW5DakNBLGtDUHNMZ0M7SU9sTWhDLDBCbUNtRHdDO0U3QzRsSzFDO0U2Q2xtS0U7SW5DN0NBLGdDUGtNZ0M7SU90TGhDLDRCbUM0QzBDO0U3QzJsSzVDO0U2Q3RtS0U7SUFlTSxhQUFhO0U3QzBsS3JCO0U2Q3ptS0U7SUFtQk0scUIxQytIdUI7STBDOUh2QixvQkFBb0I7RTdDeWxLNUI7RTZDN21LRTtJQXVCUSxpQjFDMkhxQjtJMEMxSHJCLHNCMUMwSHFCO0VIKzlKL0I7QUFDRjtBNkM1a0tBO0VBRUkscUJBQXFCO0VBQ3JCLG9CQUFvQjtFbkNqSXBCLGdCbUNrSXdCO0E3QzhrSzVCO0E2Q2xsS0E7RUFPTSxtQkFBbUI7QTdDK2tLekI7QTZDdGxLQTtFQWFNLHNCQUFzQjtBN0M2a0s1QjtBOEMxdEtFO0VBQ0UsYzVCMkY4RDtFNEIxRjlELHlCNUIwRjhEO0FsQm1vS2xFO0FLbHRLRTtFeUNQTSxjNUJzRjBEO0U0QnJGMUQseUJBQXlDO0E5QzZ0S2pEO0E4Q3B1S0U7RUFXTSxXM0NQTztFMkNRUCx5QjVCZ0YwRDtFNEIvRTFELHFCNUIrRTBEO0FsQjhvS2xFO0E4QzF1S0U7RUFDRSxjNUIyRjhEO0U0QjFGOUQseUI1QjBGOEQ7QWxCbXBLbEU7QUtsdUtFO0V5Q1BNLGM1QnNGMEQ7RTRCckYxRCx5QkFBeUM7QTlDNnVLakQ7QThDcHZLRTtFQVdNLFczQ1BPO0UyQ1FQLHlCNUJnRjBEO0U0Qi9FMUQscUI1QitFMEQ7QWxCOHBLbEU7QThDMXZLRTtFQUNFLGM1QjJGOEQ7RTRCMUY5RCx5QjVCMEY4RDtBbEJtcUtsRTtBS2x2S0U7RXlDUE0sYzVCc0YwRDtFNEJyRjFELHlCQUF5QztBOUM2dktqRDtBOENwd0tFO0VBV00sVzNDUE87RTJDUVAseUI1QmdGMEQ7RTRCL0UxRCxxQjVCK0UwRDtBbEI4cUtsRTtBOEMxd0tFO0VBQ0UsYzVCMkY4RDtFNEIxRjlELHlCNUIwRjhEO0FsQm1yS2xFO0FLbHdLRTtFeUNQTSxjNUJzRjBEO0U0QnJGMUQseUJBQXlDO0E5QzZ3S2pEO0E4Q3B4S0U7RUFXTSxXM0NQTztFMkNRUCx5QjVCZ0YwRDtFNEIvRTFELHFCNUIrRTBEO0FsQjhyS2xFO0E4QzF4S0U7RUFDRSxjNUIyRjhEO0U0QjFGOUQseUI1QjBGOEQ7QWxCbXNLbEU7QUtseEtFO0V5Q1BNLGM1QnNGMEQ7RTRCckYxRCx5QkFBeUM7QTlDNnhLakQ7QThDcHlLRTtFQVdNLFczQ1BPO0UyQ1FQLHlCNUJnRjBEO0U0Qi9FMUQscUI1QitFMEQ7QWxCOHNLbEU7QThDMXlLRTtFQUNFLGM1QjJGOEQ7RTRCMUY5RCx5QjVCMEY4RDtBbEJtdEtsRTtBS2x5S0U7RXlDUE0sYzVCc0YwRDtFNEJyRjFELHlCQUF5QztBOUM2eUtqRDtBOENwektFO0VBV00sVzNDUE87RTJDUVAseUI1QmdGMEQ7RTRCL0UxRCxxQjVCK0UwRDtBbEI4dEtsRTtBOEMxektFO0VBQ0UsYzVCMkY4RDtFNEIxRjlELHlCNUIwRjhEO0FsQm11S2xFO0FLbHpLRTtFeUNQTSxjNUJzRjBEO0U0QnJGMUQseUJBQXlDO0E5QzZ6S2pEO0E4Q3AwS0U7RUFXTSxXM0NQTztFMkNRUCx5QjVCZ0YwRDtFNEIvRTFELHFCNUIrRTBEO0FsQjh1S2xFO0E4QzEwS0U7RUFDRSxjNUIyRjhEO0U0QjFGOUQseUI1QjBGOEQ7QWxCbXZLbEU7QUtsMEtFO0V5Q1BNLGM1QnNGMEQ7RTRCckYxRCx5QkFBeUM7QTlDNjBLakQ7QThDcDFLRTtFQVdNLFczQ1BPO0UyQ1FQLHlCNUJnRjBEO0U0Qi9FMUQscUI1QitFMEQ7QWxCOHZLbEU7QStDNzFLQTtFQUNFLFlBQVk7RTNDOEhSLGlCQXRDWTtFMkN0RmhCLGdCNUNpUytCO0U0Q2hTL0IsY0FBYztFQUNkLFc1Q1lhO0U0Q1hiLHlCNUNDYTtFNENBYixXQUFXO0EvQ2cyS2I7QUszMUtFO0UwQ0RFLFc1Q01XO0U0Q0xYLHFCQUFxQjtBL0NnMkt6QjtBSzUxS0U7RTBDQ0ksWUFBWTtBL0MrMUtsQjtBK0NwMUtBO0VBQ0UsVUFBVTtFQUNWLDZCQUE2QjtFQUM3QixTQUFTO0VBQ1Qsd0JBQWdCO0VBQWhCLHFCQUFnQjtFQUFoQixnQkFBZ0I7QS9DdTFLbEI7QStDajFLQTtFQUNFLG9CQUFvQjtBL0NvMUt0QjtBZ0QzM0tBO0VBQ0UsZ0I3Q3k0QnVDO0U2Q3g0QnZDLGdCQUFnQjtFNUM2SFosbUJBdENZO0U0Q3BGaEIsMkM3Q0VhO0U2Q0RiLDRCQUE0QjtFQUM1QixvQzdDMDRCbUQ7RTZDejRCbkQsZ0Q3Q1NhO0U2Q1JiLG1DQUEyQjtFQUEzQiwyQkFBMkI7RUFDM0IsVUFBVTtFdENMUixzQlA2NEJzQztBSHMvSTFDO0FnRHg0S0E7RUFjSSxzQjdDNjNCc0M7QUhpZ0oxQztBZ0Q1NEtBO0VBa0JJLFVBQVU7QWhEODNLZDtBZ0RoNUtBO0VBc0JJLGNBQWM7RUFDZCxVQUFVO0FoRDgzS2Q7QWdEcjVLQTtFQTJCSSxhQUFhO0FoRDgzS2pCO0FnRDEzS0E7RUFDRSxvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCN0N5MkJ3QztFNkN4MkJ4QyxjN0N0QmdCO0U2Q3VCaEIsMkM3QzdCYTtFNkM4QmIsNEJBQTRCO0VBQzVCLDRDN0NpM0JvRDtBSDRnSnREO0FnRDEzS0E7RUFDRSxnQjdDaTJCd0M7QUg0aEoxQztBaURqNktBO0VBRUUsZ0JBQWdCO0FqRG02S2xCO0FpRHI2S0E7RUFLSSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0FqRG82S3BCO0FpRC81S0E7RUFDRSxlQUFlO0VBQ2YsTUFBTTtFQUNOLE9BQU87RUFDUCxhOUMrcEJzQztFOEM5cEJ0QyxhQUFhO0VBQ2IsV0FBVztFQUNYLFlBQVk7RUFDWixnQkFBZ0I7RUFHaEIsVUFBVTtBakRnNktaO0FpRHo1S0E7RUFDRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLGM5QzY0QnVDO0U4QzM0QnZDLG9CQUFvQjtBakQyNUt0QjtBaUR4NUtFO0U3QnJDSSwyQ2pCNDhCb0Q7RWlCNThCcEQsbURqQjQ4Qm9EO0VpQjU4QnBELG1DakI0OEJvRDtFaUI1OEJwRCxvRWpCNDhCb0Q7RThDcjZCdEQsc0M5Q202Qm1EO0U4Q242Qm5ELDhCOUNtNkJtRDtBSHcvSXZEO0FvQjc3S0k7RTZCZ0NGO0k3Qi9CSSx3QkFBZ0I7SUFBaEIsZ0JBQWdCO0VwQmk4S3BCO0FBQ0Y7QWlELzVLRTtFQUNFLHVCOUNpNkJvQztFOENqNkJwQyxlOUNpNkJvQztBSGlnSnhDO0FpRDk1S0U7RUFDRSw4QjlDODVCMkM7RThDOTVCM0Msc0I5Qzg1QjJDO0FIbWdKL0M7QWlENzVLQTtFQUNFLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDZCL0J5RThEO0FsQnUxS2hFO0FpRGw2S0E7RUFLSSw4Qi9Cc0U0RDtFK0JyRTVELGdCQUFnQjtBakRpNktwQjtBaUR2NktBOztFQVdJLGNBQWM7QWpEaTZLbEI7QWlENTZLQTtFQWVJLGdCQUFnQjtBakRpNktwQjtBaUQ3NUtBO0VBQ0Usb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQiw2Qi9CcUQ4RDtBbEIyMktoRTtBaURuNktBO0VBT0ksY0FBYztFQUNkLDBCL0JnRDREO0UrQi9DNUQsV0FBVztBakRnNktmO0FpRHo2S0E7RUFjSSw0QkFBc0I7RUFBdEIsNkJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0Qix3QkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLFlBQVk7QWpEKzVLaEI7QWlELzZLQTtFQW1CTSxnQkFBZ0I7QWpEZzZLdEI7QWlEbjdLQTtFQXVCTSxhQUFhO0FqRGc2S25CO0FpRDE1S0E7RUFDRSxrQkFBa0I7RUFDbEIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsV0FBVztFQUdYLG9CQUFvQjtFQUNwQixzQjlDMUdhO0U4QzJHYiw0QkFBNEI7RUFDNUIsb0M5Q2xHYTtFT1pYLHFCUDhPK0I7RThDNUhqQyxVQUFVO0FqRHk1S1o7QWlEcjVLQTtFQUNFLGVBQWU7RUFDZixNQUFNO0VBQ04sT0FBTztFQUNQLGE5Q29qQnNDO0U4Q25qQnRDLFlBQVk7RUFDWixhQUFhO0VBQ2Isc0I5Q2pIYTtBSHlnTGY7QWlELzVLQTtFQVVXLFVBQVU7QWpEeTVLckI7QWlEbjZLQTtFQVdXLFk5QzR6QjJCO0FIZ21KdEM7QWlEdjVLQTtFQUNFLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHdCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIseUJBQThCO1VBQTlCLDhCQUE4QjtFQUM5QixrQjlDeXpCc0M7RThDeHpCdEMsZ0M5Q3RJZ0I7RU9JZCwwQ1FzSDREO0VSckg1RCwyQ1FxSDREO0FsQnc2S2hFO0FpRGo2S0E7RUFTSSxrQjlDb3pCb0M7RThDbHpCcEMsOEJBQTZGO0FqRDI1S2pHO0FpRHQ1S0E7RUFDRSxnQkFBZ0I7RUFDaEIsZ0I5QzJJK0I7QUg4d0tqQztBaURwNUtBO0VBQ0Usa0JBQWtCO0VBR2xCLG1CQUFjO1VBQWQsY0FBYztFQUNkLGE5Q3V3QnNDO0FIOG9KeEM7QWlEajVLQTtFQUNFLG9CQUFhO0VBQWIsYUFBYTtFQUNiLGVBQWU7RUFDZix5QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHFCQUF5QjtVQUF6Qix5QkFBeUI7RUFDekIsZ0JBQWdFO0VBQ2hFLDZCOUN2S2dCO0VPa0JkLDhDUXdHNEQ7RVJ2RzVELDZDUXVHNEQ7QWxCbThLaEU7QWlENTVLQTtFQWNJLGVBQXdDO0FqRGs1SzVDO0FpRDc0S0E7RUFDRSxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLFdBQVc7RUFDWCxZQUFZO0VBQ1osZ0JBQWdCO0FqRGc1S2xCO0FjdmhMSTtFbUN6Qko7SUF1S0ksZ0I5Q213QnFDO0k4Q2x3QnJDLG9CQUF5QztFakQ4NEszQztFaURoaUxGO0lBc0pJLCtCL0IzRTREO0VsQnc5SzlEO0VpRG5pTEY7SUF5Sk0sZ0MvQjlFMEQ7RWxCMjlLOUQ7RWlEbmhMRjtJQTJJSSwrQi9CbkY0RDtFbEI4OUs5RDtFaUR0aExGO0lBOElNLDRCL0J0RjBEO0VsQmkrSzlEO0VpRG40S0E7SUFBWSxnQjlDNHVCMkI7RUgwcEp2QztBQUNGO0FjN2lMSTtFbUMwS0Y7O0lBRUUsZ0I5Q291QnFDO0VIbXFKdkM7QUFDRjtBY3BqTEk7RW1DaUxGO0lBQVksaUI5Qzh0QjRCO0VIMHFKeEM7QUFDRjtBa0RybkxBO0VBQ0Usa0JBQWtCO0VBQ2xCLGEvQ21yQnNDO0UrQ2xyQnRDLGNBQWM7RUFDZCxTL0N5MUJtQztFZ0Q3MUJuQyxrTWhEdVJpTjtFZ0RyUmpOLGtCQUFrQjtFQUNsQixnQmhEK1IrQjtFZ0Q5Ui9CLGdC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LE9BQU87RUFDUCxvQ0FBMkY7RUFDM0YsdUNqRGcwQmlFO0FIazdKdkU7QW9EOXZMQTtFQWdCTSxTakRzSzJCO0VpRHJLM0Isb0NBQTJGO0VBQzNGLHdCakRwRVM7QUhzekxmO0FvRDd1TEE7RUFDRSxrQmpEaXpCdUM7QUgrN0p6QztBb0RqdkxBO0VBSUksd0JsQ2dENEQ7QWxCaXNMaEU7QW9EcnZMQTtFQU9NLE1BQU07RUFDTixvQ0FBMkY7RUFDM0Ysd0NqRDR5QmlFO0FIczhKdkU7QW9EM3ZMQTtFQWFNLFFqRGtKMkI7RWlEakozQixvQ0FBMkY7RUFDM0YseUJqRHhGUztBSDAwTGY7QW9EandMQTtFQXFCSSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFNBQVM7RUFDVCxjQUFjO0VBQ2QsV2pEd3hCb0M7RWlEdnhCcEMsb0JBQXNDO0VBQ3RDLFdBQVc7RUFDWCxnQ2pENHdCdUQ7QUhvK0ozRDtBb0Q1dUxBO0VBQ0Usb0JqRGl4QnVDO0FIODlKekM7QW9EaHZMQTtFQUlJLDBCbENnQjREO0VrQ2Y1RCxhakQ2d0JxQztFaUQ1d0JyQyxZakQyd0JvQztFaUQxd0JwQyxnQkFBZ0M7QXBEZ3ZMcEM7QW9EdnZMQTtFQVVNLFFBQVE7RUFDUixvQ2pEdXdCbUM7RWlEdHdCbkMsc0NqRHl3QmlFO0FIdytKdkU7QW9EN3ZMQTtFQWdCTSxVakQrRzJCO0VpRDlHM0Isb0NqRGl3Qm1DO0VpRGh3Qm5DLHVCakQzSFM7QUg0MkxmO0FvRDN0TEE7RUFDRSx1QmpEa3VCd0M7RWlEanVCeEMsZ0JBQWdCO0VoRDNCWixlQXRDWTtFZ0RvRWhCLHlCakQydEJ5RDtFaUQxdEJ6RCxnQ0FBeUU7RTFDaEp2RSwwQ1FzSDREO0VSckg1RCwyQ1FxSDREO0FsQnl2TGhFO0FvRHJ1TEE7RUFVSSxhQUFhO0FwRCt0TGpCO0FvRDN0TEE7RUFDRSx1QmpEb3RCd0M7RWlEbnRCeEMsY2pEeEpnQjtBSHMzTGxCO0FxRHozTEE7RUFDRSxrQkFBa0I7QXJENDNMcEI7QXFEejNMQTtFQUNFLG1CQUFtQjtBckQ0M0xyQjtBcUR6M0xBO0VBQ0Usa0JB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RSxvQ0FBbUM7QXpEd29NdkM7QUs5bk1FOzs7RW9ETEksb0NBQWdEO0F6RHlvTXREO0F5RC9vTUU7RUFDRSxvQ0FBbUM7QXpEa3BNdkM7QUt4b01FOzs7RW9ETEksb0NBQWdEO0F6RG1wTXREO0F5RHpwTUU7RUFDRSxvQ0FBbUM7QXpENHBNdkM7QUtscE1FOzs7RW9ETEksb0NBQWdEO0F6RDZwTXREO0F5RG5xTUU7RUFDRSxvQ0FBbUM7QXpEc3FNdkM7QUs1cE1FOzs7RW9ETEksb0NBQWdEO0F6RHVxTXREO0F5RDdxTUU7RUFDRSxvQ0FBbUM7QXpEZ3JNdkM7QUt0cU1FOzs7RW9ETEksb0NBQWdEO0F6RGlyTXREO0F5RHZyTUU7RUFDRSxvQ0FBbUM7QXpEMHJNdkM7QUtock1FOzs7RW9ETEksb0NBQWdEO0F6RDJyTXREO0F5RGpzTUU7RUFDRSxvQ0FBbUM7QXpEb3NNdkM7QUsxck1FOzs7RW9ETEksb0NBQWdEO0F6RHFzTXREO0F5RDNzTUU7RUFDRSxvQ0FBbUM7QXpEOHNNdkM7QUtwc01FOzs7RW9ETEksb0NBQWdEO0F6RCtzTXREO0EwRDlzTUE7RUFDRSxpQ0FBbUM7QTFEaXRNckM7QTBEOXNNQTtFQUNFLHdDQUF3QztBMURpdE0xQztBMkQ1dE1BO0VBQWtCLG9DQUFvRDtBM0RndU10RTtBMkQvdE1BO0VBQWtCLHdDQUF3RDtBM0RtdU0xRTtBMkRsdU1BO0VBQWtCLDBDQUEwRDtBM0RzdU01RTtBMkRydU1BO0VBQWtCLDJDQUEyRDtBM0R5dU03RTtBMkR4dU1BO0VBQWtCLHlDQUF5RDtBM0Q0dU0zRTtBMkQxdU1BO0VBQW1CLG9CQUFvQjtBM0Q4dU12QztBMkQ3dU1BO0VBQW1CLHdCQUF3QjtBM0Rpdk0zQztBMkRodk1BO0VBQW1CLDBCQUEwQjtBM0Rvdk03QztBMkRudk1BO0VBQW1CLDJCQUEyQjtBM0R1dk05QztBMkR0dk1BO0VBQW1CLHlCQUF5QjtBM0Qwdk01QztBMkR2dk1FO0VBQ0UsZ0NBQStCO0EzRDB2TW5DO0EyRDN2TUU7RUFDRSxnQ0FBK0I7QTNEOHZNbkM7QTJEL3ZNRTtFQUNFLGdD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QTJCO0U5RHNqTzdEO0U4RHJqT0U7SUFBZ0MsaUNBQWlDO0U5RHdqT25FO0U4RHZqT0U7SUFBZ0MsK0JBQStCO0U5RDBqT2pFO0U4RHpqT0U7SUFBZ0MsNkJBQTZCO0U5RDRqTy9EO0U4RDNqT0U7SUFBZ0MsK0JBQStCO0U5RDhqT2pFO0U4RDdqT0U7SUFBZ0MsOEJBQThCO0U5RGdrT2hFO0FBQ0Y7QStEM21PSTtFQUF3QixzQkFBc0I7QS9EK21PbEQ7QStEOW1PSTtFQUF3Qix1QkFBdUI7QS9Ea25PbkQ7QStEam5PSTtFQUF3QixzQkFBc0I7QS9EcW5PbEQ7QWNqa09JO0VpRHREQTtJQUF3QixzQkFBc0I7RS9ENG5PaEQ7RStEM25PRTtJQUF3Qix1QkFBdUI7RS9EOG5PakQ7RStEN25PRTtJQUF3QixzQkFBc0I7RS9EZ29PaEQ7QUFDRjtBYzdrT0k7RWlEdERBO0lBQXdCLHNCQUFzQjtFL0R3b09oRDtFK0R2b09FO0lBQXdCLHVCQUF1QjtFL0Qwb09qRDtFK0R6b09FO0lBQXdCLHNCQUFzQjtFL0Q0b09oRDtBQUNGO0FjemxPSTtFaUR0REE7SUFBd0Isc0JBQXNCO0UvRG9wT2hEO0UrRG5wT0U7SUFBd0IsdUJBQXVCO0UvRHNwT2pEO0UrRHJwT0U7SUFBd0Isc0JBQXNCO0UvRHdwT2hEO0FBQ0Y7QWNybU9JO0VpRHREQTtJQUF3QixzQkFBc0I7RS9EZ3FPaEQ7RStEL3BPRTtJQUF3Qix1QkFBdUI7RS9Ea3FPakQ7RStEanFPRTtJQUF3QixzQkFBc0I7RS9Eb3FPaEQ7QUFDRjtBZ0UxcU9FO0VBQXNCLHlCQUEyQjtBaEU4cU9uRDtBZ0U5cU9FO0VBQXNCLDJCQUEyQjtBaEVrck9uRDtBaUVqck9FO0VBQXlCLDJCQUE4QjtBakVxck96RDtBaUVyck9FO0VBQXlCLDZCQUE4QjtBakV5ck96RDtBaUV6ck9FO0VBQXlCLDZCQUE4QjtBakU2ck96RDtBaUU3ck9FO0VBQXlCLDBCQUE4QjtBakVpc096RDtBaUVqc09FO0VBQXlCLG1DQUE4QjtFQUE5QiwyQkFBOEI7QWpFcXNPekQ7QWlFaHNPQTtFQUNFLGVB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O0F1RTc2T1E7O0VBRUUsZ0NBQTBDO0F2RWc3T3BEO0F1RTk2T1E7O0VBRUUsOEJBQXNDO0F2RWk3T2hEO0F1RWg4T1E7RUFBZ0MsdUJBQTRCO0F2RW84T3BFO0F1RW44T1E7O0VBRUUsMkJBQW9DO0F2RXM4TzlDO0F1RXA4T1E7O0VBRUUsNkJBQXdDO0F2RXU4T2xEO0F1RXI4T1E7O0VBRUUsOEJBQTBDO0F2RXc4T3BEO0F1RXQ4T1E7O0VBRUUsNEJBQXNDO0F2RXk4T2hEO0F1RXg5T1E7RUFBZ0MscUJBQTRCO0F2RTQ5T3BFO0F1RTM5T1E7O0VBRUUseUJBQW9DO0F2RTg5TzlDO0F1RTU5T1E7O0VBRUUsMkJBQXdDO0F2RSs5T2xEO0F1RTc5T1E7O0VBRUUsNEJBQTBDO0F2RWcrT3BEO0F1RTk5T1E7O0VBRUUsMEJBQXNDO0F2RWkrT2hEO0F1RWgvT1E7RUFBZ0MsMkJBQTRCO0F2RW8vT3BFO0F1RW4vT1E7O0VBRUUsK0JBQW9DO0F2RXMvTzlDO0F1RXAvT1E7O0VBRUUsaUNBQXdDO0F2RXUvT2xEO0F1RXIvT1E7O0VBRUUsa0NBQTBDO0F2RXcvT3BEO0F1RXQvT1E7O0VBRUUsZ0NBQXNDO0F2RXkvT2hEO0F1RXhnUFE7RUFBZ0MsMEJBQTRCO0F2RTRnUHBFO0F1RTNnUFE7O0VBRUUsOEJBQW9DO0F2RThnUDlDO0F1RTVnUFE7O0VBRUUsZ0NBQXdDO0F2RStnUGxEO0F1RTdnUFE7O0VBRUUsaUNBQTBDO0F2RWdoUHBEO0F1RTlnUFE7O0VBRUUsK0JBQXNDO0F2RWloUGhEO0F1RWhpUFE7RUFBZ0Msd0JBQTRCO0F2RW9pUHBFO0F1RW5pUFE7O0VBRUUsNEJBQW9DO0F2RXNpUDlDO0F1RXBpUFE7O0VBRUUsOEJBQXdDO0F2RXVpUGxEO0F1RXJpUFE7O0VBRUUsK0JBQTBDO0F2RXdpUHBEO0F1RXRpUFE7O0VBRUUsNkJBQXNDO0F2RXlpUGhEO0F1RXhqUFE7RUFBZ0MsMEJBQTRCO0F2RTRqUHBFO0F1RTNqUFE7O0VBRUUsOEJBQW9DO0F2RThqUDlDO0F1RTVqUFE7O0VBRUUsZ0NBQXdDO0F2RStqUGxEO0F1RTdqUFE7O0VBRUUsaUNBQTBDO0F2RWdrUHBEO0F1RTlqUFE7O0VBRUUsK0JBQXNDO0F2RWlrUGhEO0F1RWhsUFE7RUFBZ0Msd0JBQTRCO0F2RW9sUHBFO0F1RW5sUFE7O0VBRUUsNEJBQW9DO0F2RXNsUDlDO0F1RXBsUFE7O0VBRUUsOEJBQXdDO0F2RXVsUGxEO0F1RXJsUFE7O0VBRUUsK0JBQTBDO0F2RXdsUHBEO0F1RXRsUFE7O0VBRUUsNkJBQXNDO0F2RXlsUGhEO0F1RWpsUFE7RUFBd0IsMkJBQTJCO0F2RXFsUDNEO0F1RXBsUFE7O0VBRUUsK0JBQStCO0F2RXVsUHpDO0F1RXJsUFE7O0VBRUUsaUNBQWlDO0F2RXdsUDNDO0F1RXRsUFE7O0VBRUUsa0NBQWtDO0F2RXlsUDVDO0F1RXZsUFE7O0VBRUUsZ0NBQWdDO0F2RTBsUDFDO0F1RXptUFE7RUFBd0IsMEJBQTJCO0F2RTZtUDNEO0F1RTVtUFE7O0VBRUUsOEJBQStCO0F2RSttUHpDO0F1RTdtUFE7O0VBRUUsZ0NBQWlDO0F2RWduUDNDO0F1RTltUFE7O0VBRUUsaUNBQWtDO0F2RWluUDVDO0F1RS9tUFE7O0VBRUUsK0JBQWdDO0F2RWtuUDFDO0F1RWpvUFE7RUFBd0Isd0JBQTJCO0F2RXFvUDNEO0F1RXBvUFE7O0VBRUUsNEJBQStCO0F2RXVvUHpDO0F1RXJvUFE7O0VBRUUsOEJBQWlDO0F2RXdvUDNDO0F1RXRvUFE7O0VBRUUsK0JBQWtDO0F2RXlvUDVDO0F1RXZvUFE7O0VBRUUsNkJBQWdDO0F2RTBvUDFDO0F1RXpwUFE7RUFBd0IsMEJBQTJCO0F2RTZwUDNEO0F1RTVwUFE7O0VBRUUsOEJBQStCO0F2RStwUHpDO0F1RTdwUFE7O0VBRUUsZ0NBQWlDO0F2RWdxUDNDO0F1RTlwUFE7O0VBRUUsaUNBQWtDO0F2RWlxUDVDO0F1RS9wUFE7O0VBRUUsK0JBQWdDO0F2RWtxUDFDO0F1RWpyUFE7RUFBd0Isd0JBQTJCO0F2RXFyUDNEO0F1RXByUFE7O0VBRUUsNEJBQStCO0F2RXVyUHpDO0F1RXJyUFE7O0VBRUUsOEJBQWlDO0F2RXdyUDNDO0F1RXRyUFE7O0VBRUUsK0JBQWtDO0F2RXlyUDVDO0F1RXZyUFE7O0VBRUUsNkJBQWdDO0F2RTByUDFDO0F1RXByUEk7RUFBbUIsdUJBQXVCO0F2RXdyUDlDO0F1RXZyUEk7O0VBRUUsMkJBQTJCO0F2RTByUGpDO0F1RXhyUEk7O0VBRUUsNkJBQTZCO0F2RTJyUG5DO0F1RXpyUEk7O0VBRUUsOEJBQThCO0F2RTRyUHBDO0F1RTFyUEk7O0VBRUUsNEJBQTRCO0F2RTZyUGxDO0FjdHNQSTtFeURsREk7SUFBZ0Msb0JBQTRCO0V2RTZ2UGxFO0V1RTV2UE07O0lBRUUsd0JBQW9DO0V2RTh2UDVDO0V1RTV2UE07O0lBRUUsMEJBQXdDO0V2RTh2UGhEO0V1RTV2UE07O0lBRUUsMkJBQTBDO0V2RTh2UGxEO0V1RTV2UE07O0lBRUUseUJBQXNDO0V2RTh2UDlDO0V1RTd3UE07SUFBZ0MsMEJBQTRCO0V2RWd4UGxFO0V1RS93UE07O0lBRUUsOEJBQW9DO0V2RWl4UDVDO0V1RS93UE07O0lBRUUsZ0NBQXdDO0V2RWl4UGhEO0V1RS93UE07O0lBRUUsaUNBQTBDO0V2RWl4UGxEO0V1RS93UE07O0lBRUUsK0JBQXNDO0V2RWl4UDlDO0V1RWh5UE07SUFBZ0MseUJBQTRCO0V2RW15UGxFO0V1RWx5UE07O0lBRUUsNkJBQW9DO0V2RW95UDVDO0V1RWx5UE07O0lBRUUsK0JBQXdDO0V2RW95UGhEO0V1RWx5UE07O0lBRUUsZ0NBQTBDO0V2RW95UGxEO0V1RWx5UE07O0lBRUUsOEJBQXNDO0V2RW95UDlDO0V1RW56UE07SUFBZ0MsdUJBQTRCO0V2RXN6UGxFO0V1RXJ6UE07O0lBRUUsMkJBQW9DO0V2RXV6UDVDO0V1RXJ6UE07O0lBRUUsNkJBQXdDO0V2RXV6UGhEO0V1RXJ6UE07O0lBRUUsOEJBQTBDO0V2RXV6UGxEO0V1RXJ6UE07O0lBRUUsNEJBQXNDO0V2RXV6UDlDO0V1RXQwUE07SUFBZ0MseUJBQTRCO0V2RXkwUGxFO0V1RXgwUE07O0lBRUUsNkJBQW9DO0V2RTAwUDVDO0V1RXgwUE07O0lBRUUsK0JBQXdDO0V2RTAwUGhEO0V1RXgwUE07O0lBRUUsZ0NBQTBDO0V2RTAwUGxEO0V1RXgwUE07O0lBRUUsOEJBQXNDO0V2RTAwUDlDO0V1RXoxUE07SUFBZ0MsdUJBQTRCO0V2RTQxUGxFO0V1RTMxUE07O0lBRUUsMkJBQW9DO0V2RTYxUDVDO0V1RTMxUE07O0lBRUUsNkJBQXdDO0V2RTYxUGhEO0V1RTMxUE07O0lBRUUsOEJBQTBDO0V2RTYxUGxEO0V1RTMxUE07O0lBRUUsNEJBQXNDO0V2RTYxUDlDO0V1RTUyUE07SUFBZ0MscUJBQTRCO0V2RSsyUGxFO0V1RTkyUE07O0lBRUUseUJBQW9DO0V2RWczUDVDO0V1RTkyUE07O0lBRUUsMkJBQXdDO0V2RWczUGhEO0V1RTkyUE07O0lBRUUsNEJBQTBDO0V2RWczUGxEO0V1RTkyUE07O0lBRUUsMEJBQXNDO0V2RWczUDlDO0V1RS8zUE07SUFBZ0MsMkJBQTRCO0V2RWs0UGxFO0V1RWo0UE07O0lBRUUsK0JBQW9DO0V2RW00UDVDO0V1RWo0UE07O0lBRUUsaUNBQXdDO0V2RW00UGhEO0V1RWo0UE07O0lBRUUsa0NBQTBDO0V2RW00UGxEO0V1RWo0UE07O0lBRUUsZ0NBQXNDO0V2RW00UDlDO0V1RWw1UE07SUFBZ0MsMEJBQTRCO0V2RXE1UGxFO0V1RXA1UE07O0lBRUUsOEJBQW9DO0V2RXM1UDVDO0V1RXA1UE07O0lBRUUsZ0NBQXdDO0V2RXM1UGhEO0V1RXA1UE07O0lBRUUsaUNBQTBDO0V2RXM1UGxEO0V1RXA1UE07O0lBRUUsK0JBQXNDO0V2RXM1UDlDO0V1RXI2UE07SUFBZ0Msd0JBQTRCO0V2RXc2UGxFO0V1RXY2UE07O0lBRUUsNEJBQW9DO0V2RXk2UDVDO0V1RXY2UE07O0lBRUUsOEJBQXdDO0V2RXk2UGhEO0V1RXY2UE07O0lBRUUsK0JBQTBDO0V2RXk2UGxEO0V1RXY2UE07O0lBRUUsNkJBQXNDO0V2RXk2UDlDO0V1RXg3UE07SUFBZ0MsMEJBQTRCO0V2RTI3UGxFO0V1RTE3UE07O0lBRUUsOEJBQW9DO0V2RTQ3UDVDO0V1RTE3UE07O0lBRUUsZ0NBQXdDO0V2RTQ3UGhEO0V1RTE3UE07O0lBRUUsaUNBQTBDO0V2RTQ3UGxEO0V1RTE3UE07O0lBRUUsK0JBQXNDO0V2RTQ3UDlDO0V1RTM4UE07SUFBZ0Msd0JBQTRCO0V2RTg4UGxFO0V1RTc4UE07O0lBRUUsNEJBQW9DO0V2RSs4UDVDO0V1RTc4UE07O0lBRUUsOEJBQXdDO0V2RSs4UGhEO0V1RTc4UE07O0lBRUUsK0JBQTBDO0V2RSs4UGxEO0V1RTc4UE07O0lBRUUsNkJBQXNDO0V2RSs4UDlDO0V1RXY4UE07SUFBd0IsMkJBQTJCO0V2RTA4UHpEO0V1RXo4UE07O0lBRUUsK0JBQStCO0V2RTI4UHZDO0V1RXo4UE07O0lBRUUsaUNBQWlDO0V2RTI4UHpDO0V1RXo4UE07O0lBRUUsa0NBQWtDO0V2RTI4UDFDO0V1RXo4UE07O0lBRUUsZ0NBQWdDO0V2RTI4UHhDO0V1RTE5UE07SUFBd0IsMEJBQTJCO0V2RTY5UHpEO0V1RTU5UE07O0lBRUUsOEJBQStCO0V2RTg5UHZDO0V1RTU5UE07O0lBRUUsZ0NBQWlDO0V2RTg5UHpDO0V1RTU5UE07O0lBRUUsaUNBQWtDO0V2RTg5UDFDO0V1RTU5UE07O0lBRUUsK0JBQWdDO0V2RTg5UHhDO0V1RTcrUE07SUFBd0Isd0JBQTJCO0V2RWcvUHpEO0V1RS8rUE07O0lBRUUsNEJBQStCO0V2RWkvUHZDO0V1RS8rUE07O0lBRUUsOEJBQWlDO0V2RWkvUHpDO0V1RS8rUE07O0lBRUUsK0JBQWtDO0V2RWkvUDFDO0V1RS8rUE07O0lBRUUsNkJBQWdDO0V2RWkvUHhDO0V1RWhnUU07SUFBd0IsMEJBQTJCO0V2RW1nUXpEO0V1RWxnUU07O0lBRUUsOEJBQStCO0V2RW9nUXZDO0V1RWxnUU07O0lBRUUsZ0NBQWlDO0V2RW9nUXpDO0V1RWxnUU07O0lBRUUsaUNBQWtDO0V2RW9nUTFDO0V1RWxnUU07O0lBRUUsK0JBQWdDO0V2RW9nUXhDO0V1RW5oUU07SUFBd0Isd0JBQTJCO0V2RXNoUXpEO0V1RXJoUU07O0lBRUUsNEJBQStCO0V2RXVoUXZDO0V1RXJoUU07O0lBRUUsOEJBQWlDO0V2RXVoUXpDO0V1RXJoUU07O0lBRUUsK0JBQWtDO0V2RXVoUTFDO0V1RXJoUU07O0lBRUUsNkJBQWdDO0V2RXVoUXhDO0V1RWpoUUU7SUFBbUIsdUJBQXVCO0V2RW9oUTVDO0V1RW5oUUU7O0lBRUUsMkJBQTJCO0V2RXFoUS9CO0V1RW5oUUU7O0lBRUUsNkJBQTZCO0V2RXFoUWpDO0V1RW5oUUU7O0lBRUUsOEJBQThCO0V2RXFoUWxDO0V1RW5oUUU7O0lBRUUsNEJBQTRCO0V2RXFoUWhDO0FBQ0Y7QWMvaFFJO0V5RGxESTtJQUFnQyxvQkFBNEI7RXZFc2xRbEU7RXVFcmxRTTs7SUFFRSx3QkFBb0M7RXZFdWxRNUM7RXVFcmxRTTs7SUFFRSwwQkFBd0M7RXZFdWxRaEQ7RXVFcmxRTTs7SUFFRSwyQkFBMEM7RXZFdWxRbEQ7RXVFcmxRTTs7SUFFRSx5QkFBc0M7RXZFdWxROUM7RXVFdG1RTTtJQUFnQywwQkFBNEI7RXZFeW1RbEU7RXVFeG1RTTs7SUFFRSw4QkFBb0M7RXZFMG1RNUM7RXVFeG1RTTs7SUFFRSxnQ0FBd0M7RXZFMG1RaEQ7RXVFeG1RTTs7SUFFRSxpQ0FBMEM7RXZFMG1RbEQ7RXVFeG1RTTs7SUFFRSwrQkFBc0M7RXZFMG1ROUM7RXVFem5RTTtJQUFnQyx5QkFBNEI7RXZFNG5RbEU7RXVFM25RTTs7SUFFRSw2QkFBb0M7RXZFNm5RNUM7RXVFM25RTTs7SUFFRSwrQkFBd0M7RXZFNm5RaEQ7RXVFM25RTTs7SUFFRSxnQ0FBMEM7RXZFNm5RbEQ7RXVFM25RTTs7SUFFRSw4QkFBc0M7RXZFNm5ROUM7RXVFNW9RTTtJQUFnQyx1QkFBNEI7RXZFK29RbEU7RXVFOW9RTTs7SUFFRSwyQkFBb0M7RXZFZ3BRNUM7RXVFOW9RTTs7SUFFRSw2QkFBd0M7RXZFZ3BRaEQ7RXVFOW9RTTs7SUFFRSw4QkFBMEM7RXZFZ3BRbEQ7RXVFOW9RTTs7SUFFRSw0QkFBc0M7RXZFZ3BROUM7RXVFL3BRTTtJQUFnQyx5QkFBNEI7RXZFa3FRbEU7RXVFanFRTTs7SUFFRSw2QkFBb0M7RXZFbXFRNUM7RXVFanFRTTs7SUFFRSwrQkFBd0M7RXZFbXFRaEQ7RXVFanFRTTs7SUFFRSxnQ0FBMEM7RXZFbXFRbEQ7RXVFanFRTTs7SUFFRSw4QkFBc0M7RXZFbXFROUM7RXVFbHJRTTtJQUFnQyx1QkFBNEI7RXZFcXJRbEU7RXVFcHJRTTs7SUFFRSwyQkFBb0M7RXZFc3JRNUM7RXVFcHJRTTs7SUFFRSw2QkFBd0M7RXZFc3JRaEQ7RXVFcHJRTTs7SUFFRSw4QkFBMEM7RXZFc3JRbEQ7RXVFcHJRTTs7SUFFRSw0QkFBc0M7RXZFc3JROUM7RXVFcnNRTTtJQUFnQyxxQkFBNEI7RXZFd3NRbEU7RXVFdnNRTTs7SUFFRSx5QkFBb0M7RXZFeXNRNUM7RXVFdnNRTTs7SUFFRSwyQkFBd0M7RXZFeXNRaEQ7RXVFdnNRTTs7SUFFRSw0QkFBMEM7RXZFeXNRbEQ7RXVFdnNRTTs7SUFFRSwwQkFBc0M7RXZFeXNROUM7RXVFeHRRTTtJQUFnQywyQkFBNEI7RXZFMnRRbEU7RXVFMXRRTTs7SUFFRSwrQkFBb0M7RXZFNHRRNUM7RXVFMXRRTTs7SUFFRSxpQ0FBd0M7RXZFNHRRaEQ7RXVFMXRRTTs7SUFFRSxrQ0FBMEM7RXZFNHRRbEQ7RXVFMXRRTTs7SUFFRSxnQ0FBc0M7RXZFNHRROUM7RXVFM3VRTTtJQUFnQywwQkFBNEI7RXZFOHVRbEU7RXVFN3VRTTs7SUFFRSw4QkFBb0M7RXZFK3VRNUM7RXVFN3VRTTs7SUFFRSxnQ0FBd0M7RXZFK3VRaEQ7RXVFN3VRTTs7SUFFRSxpQ0FBMEM7RXZFK3VRbEQ7RXVFN3VRTTs7SUFFRSwrQkFBc0M7RXZFK3VROUM7RXVFOXZRTTtJQUFnQyx3QkFBNEI7RXZFaXdRbEU7RXVFaHdRTTs7SUFFRSw0QkFBb0M7RXZFa3dRNUM7RXVFaHdRTTs7SUFFRSw4QkFBd0M7RXZFa3dRaEQ7RXVFaHdRTTs7SUFFRSwrQkFBMEM7RXZFa3dRbEQ7RXVFaHdRTTs7SUFFRSw2QkFBc0M7RXZFa3dROUM7RXVFanhRTTtJQUFnQywwQkFBNEI7RXZFb3hRbEU7RXVFbnhRTTs7SUFFRSw4QkFBb0M7RXZFcXhRNUM7RXVFbnhRTTs7SUFFRSxnQ0FBd0M7RXZFcXhRaEQ7RXVFbnhRTTs7SUFFRSxpQ0FBMEM7RXZFcXhRbEQ7RXVFbnhRTTs7SUFFRSwrQkFBc0M7RXZFcXhROUM7RXVFcHlRTTtJQUFnQyx3QkFBNEI7RXZFdXlRbEU7RXVFdHlRTTs7SUFFRSw0QkFBb0M7RXZFd3lRNUM7RXVFdHlRTTs7SUFFRSw4QkFBd0M7RXZFd3lRaEQ7RXVFdHlRTTs7SUFFRSwrQkFBMEM7RXZFd3lRbEQ7RXVFdHlRTTs7SUFFRSw2QkFBc0M7RXZFd3lROUM7RXVFaHlRTTtJQUF3QiwyQkFBMkI7RXZFbXlRekQ7RXVFbHlRTTs7SUFFRSwrQkFBK0I7RXZFb3lRdkM7RXVFbHlRTTs7SUFFRSxpQ0FBaUM7RXZFb3lRekM7RXVFbHlRTTs7SUFFRSxrQ0FBa0M7RXZFb3lRMUM7RXVFbHlRTTs7SUFFRSxnQ0FBZ0M7RXZFb3lReEM7RXVFbnpRTTtJQUF3QiwwQkFBMkI7RXZFc3pRekQ7RXVFcnpRTTs7SUFFRSw4QkFBK0I7RXZFdXpRdkM7RXVFcnpRTTs7SUFFRSxnQ0FBaUM7RXZFdXpRekM7RXVFcnpRTTs7SUFFRSxpQ0FBa0M7RXZFdXpRMUM7RXVFcnpRTTs7SUFFRSwrQkFBZ0M7RXZFdXpReEM7RXVFdDBRTTtJQUF3Qix3QkFBMkI7RXZFeTBRekQ7RXVFeDBRTTs7SUFFRSw0QkFBK0I7RXZFMDBRdkM7RXVFeDBRTTs7SUFFRSw4QkFBaUM7RXZFMDBRekM7RXVFeDBRTTs7SUFFRSwrQkFBa0M7RXZFMDBRMUM7RXVFeDBRTTs7SUFFRSw2QkFBZ0M7RXZFMDBReEM7RXVFejFRTTtJQUF3QiwwQkFBMkI7RXZFNDFRekQ7RXVFMzFRTTs7SUFFRSw4QkFBK0I7RXZFNjFRdkM7RXVFMzFRTTs7SUFFRSxnQ0FBaUM7RXZFNjFRekM7RXVFMzFRTTs7SUFFRSxpQ0FBa0M7RXZFNjFRMUM7RXVFMzFRTTs7SUFFRSwrQkFBZ0M7RXZFNjFReEM7RXVFNTJRTTtJQUF3Qix3QkFBMkI7RXZFKzJRekQ7RXVFOTJRTTs7SUFFRSw0QkFBK0I7RXZFZzNRdkM7RXVFOTJRTTs7SUFFRSw4QkFBaUM7RXZFZzNRekM7RXVFOTJRTTs7SUFFRSwrQkFBa0M7RXZFZzNRMUM7RXVFOTJRTTs7SUFFRSw2QkFBZ0M7RXZFZzNReEM7RXVFMTJRRTtJQUFtQix1QkFBdUI7RXZFNjJRNUM7RXVFNTJRRTs7SUFFRSwyQkFBMkI7RXZFODJRL0I7RXVFNTJRRTs7SUFFRSw2QkFBNkI7RXZFODJRakM7RXVFNTJRRTs7SUFFRSw4QkFBOEI7RXZFODJRbEM7RXVFNTJRRTs7SUFFRSw0QkFBNEI7RXZFODJRaEM7QUFDRjtBY3gzUUk7RXlEbERJO0lBQWdDLG9CQUE0QjtFdkUrNlFsRTtFdUU5NlFNOztJQUVFLHdCQUFvQztFdkVnN1E1QztFdUU5NlFNOztJQUVFLDBCQUF3QztFdkVnN1FoRDtFdUU5NlFNOztJQUVFLDJCQUEwQztFdkVnN1FsRDtFdUU5NlFNOztJQUVFLHlCQUFzQztFdkVnN1E5QztFdUUvN1FNO0lBQWdDLDBCQUE0QjtFdkVrOFFsRTtFdUVqOFFNOztJQUVFLDhCQUFvQztFdkVtOFE1QztFdUVqOFFNOztJQUVFLGdDQUF3QztFdkVtOFFoRDtFdUVqOFFNOztJQUVFLGlDQUEwQztFdkVtOFFsRDtFdUVqOFFNOztJQUVFLCtCQUFzQztFdkVtOFE5QztFdUVsOVFNO0lBQWdDLHlCQUE0QjtFdkVxOVFsRTtFdUVwOVFNOztJQUVFLDZCQUFvQztFdkVzOVE1QztFdUVwOVFNOztJQUVFLCtCQUF3QztFdkVzOVFoRDtFdUVwOVFNOztJQUVFLGdDQUEwQztFdkVzOVFsRDtFdUVwOVFNOztJQUVFLDhCQUFzQztFdkVzOVE5QztFdUVyK1FNO0lBQWdDLHVCQUE0QjtFdkV3K1FsRTtFdUV2K1FNOztJQUVFLDJCQUFvQztFdkV5K1E1QztFdUV2K1FNOztJQUVFLDZCQUF3QztFdkV5K1FoRDtFdUV2K1FNOztJQUVFLDhCQUEwQztFdkV5K1FsRDtFdUV2K1FNOztJQUVFLDRCQUFzQztFdkV5K1E5QztFdUV4L1FNO0lBQWdDLHlCQUE0QjtFdkUyL1FsRTtFdUUxL1FNOztJQUVFLDZCQUFvQztFdkU0L1E1QztFdUUxL1FNOztJQUVFLCtCQUF3QztFdkU0L1FoRDtFdUUxL1FNOztJQUVFLGdDQUEwQztFdkU0L1FsRDtFdUUxL1FNOztJQUVFLDhCQUFzQztFdkU0L1E5QztFdUUzZ1JNO0lBQWdDLHVCQUE0QjtFdkU4Z1JsRTtFdUU3Z1JNOztJQUVFLDJCQUFvQztFdkUrZ1I1QztFdUU3Z1JNOztJQUVFLDZCQUF3QztFdkUrZ1JoRDtFdUU3Z1JNOztJQUVFLDhCQUEwQztFdkUrZ1JsRDtFdUU3Z1JNOztJQUVFLDRCQUFzQztFdkUrZ1I5QztFdUU5aFJNO0lBQWdDLHFCQUE0QjtFdkVpaVJsRTtFdUVoaVJNOztJQUVFLHlCQUFvQztFdkVraVI1QztFdUVoaVJNOztJQUVFLDJCQUF3QztFdkVraVJoRDtFdUVoaVJNOztJQUVFLDRCQUEwQztFdkVraVJsRDtFdUVoaVJNOztJQUVFLDBCQUFzQztFdkVraVI5QztFdUVqalJNO0lBQWdDLDJCQUE0QjtFdkVvalJsRTtFdUVualJNOztJQUVFLCtCQUFvQztFdkVxalI1QztFdUVualJNOztJQUVFLGlDQUF3QztFdkVxalJoRDtFdUVualJNOztJQUVFLGtDQUEwQztFdkVxalJsRDtFdUVualJNOztJQUVFLGdDQUFzQztFdkVxalI5QztFdUVwa1JNO0lBQWdDLDBCQUE0QjtFdkV1a1JsRTtFdUV0a1JNOztJQUVFLDhCQUFvQztFdkV3a1I1QztFdUV0a1JNOztJQUVFLGdDQUF3QztFdkV3a1JoRDtFdUV0a1JNOztJQUVFLGlDQUEwQztFdkV3a1JsRDtFdUV0a1JNOztJQUVFLCtCQUFzQztFdkV3a1I5QztFdUV2bFJNO0lBQWdDLHdCQUE0QjtFdkUwbFJsRTtFdUV6bFJNOztJQUVFLDRCQUFvQztFdkUybFI1QztFdUV6bFJNOztJQUVFLDhCQUF3QztFdkUybFJoRDtFdUV6bFJNOztJQUVFLCtCQUEwQztFdkUybFJsRDtFdUV6bFJNOztJQUVFLDZCQUFzQztFdkUybFI5QztFdUUxbVJNO0lBQWdDLDBCQUE0QjtFdkU2bVJsRTtFdUU1bVJNOztJQUVFLDhCQUFvQztFdkU4bVI1QztFdUU1bVJNOztJQUVFLGdDQUF3QztFdkU4bVJoRDtFdUU1bVJNOztJQUVFLGlDQUEwQztFdkU4bVJsRDtFdUU1bVJNOztJQUVFLCtCQUFzQztFdkU4bVI5QztFdUU3blJNO0lBQWdDLHdCQUE0QjtFdkVnb1JsRTtFdUUvblJNOztJQUVFLDRCQUFvQztFdkVpb1I1QztFdUUvblJNOztJQUVFLDhCQUF3QztFdkVpb1JoRDtFdUUvblJNOztJQUVFLCtCQUEwQztFdkVpb1JsRDtFdUUvblJNOztJQUVFLDZCQUFzQztFdkVpb1I5QztFdUV6blJNO0lBQXdCLDJCQUEyQjtFdkU0blJ6RDtFdUUzblJNOztJQUVFLCtCQUErQjtFdkU2blJ2QztFdUUzblJNOztJQUVFLGlDQUFpQztFdkU2blJ6QztFdUUzblJNOztJQUVFLGtDQUFrQztFdkU2blIxQztFdUUzblJNOztJQUVFLGdDQUFnQztFdkU2blJ4QztFdUU1b1JNO0lBQXdCLDBCQUEyQjtFdkUrb1J6RDtFdUU5b1JNOztJQUVFLDhCQUErQjtFdkVncFJ2QztFdUU5b1JNOztJQUVFLGdDQUFpQztFdkVncFJ6QztFdUU5b1JNOztJQUVFLGlDQUFrQztFdkVncFIxQztFdUU5b1JNOztJQUVFLCtCQUFnQztFdkVncFJ4QztFdUUvcFJNO0lBQXdCLHdCQUEyQjtFdkVrcVJ6RDtFdUVqcVJNOztJQUVFLDRCQUErQjtFdkVtcVJ2QztFdUVqcVJNOztJQUVFLDhCQUFpQztFdkVtcVJ6QztFdUVqcVJNOztJQUVFLCtCQUFrQztFdkVtcVIxQztFdUVqcVJNOztJQUVFLDZCQUFnQztFdkVtcVJ4QztFdUVsclJNO0lBQXdCLDBCQUEyQjtFdkVxclJ6RDtFdUVwclJNOztJQUVFLDhCQUErQjtFdkVzclJ2QztFdUVwclJNOztJQUVFLGdDQUFpQztFdkVzclJ6QztFdUVwclJNOztJQUVFLGlDQUFrQztFdkVzclIxQztFdUVwclJNOztJQUVFLCtCQUFnQztFdkVzclJ4QztFdUVyc1JNO0lBQXdCLHdCQUEyQjtFdkV3c1J6RDtFdUV2c1JNOztJQUVFLDRCQUErQjtFdkV5c1J2QztFdUV2c1JNOztJQUVFLDhCQUFpQztFdkV5c1J6QztFdUV2c1JNOztJQUVFLCtCQUFrQztFdkV5c1IxQztFdUV2c1JNOztJQUVFLDZCQUFnQztFdkV5c1J4QztFdUVuc1JFO0lBQW1CLHVCQUF1QjtFdkVzc1I1QztFdUVyc1JFOztJQUVFLDJCQUEyQjtFdkV1c1IvQjtFdUVyc1JFOztJQUVFLDZCQUE2QjtFdkV1c1JqQztFdUVyc1JFOztJQUVFLDhCQUE4QjtFdkV1c1JsQztFdUVyc1JFOztJQUVFLDRCQUE0QjtFdkV1c1JoQztBQUNGO0FjanRSSTtFeURsREk7SUFBZ0Msb0JBQTRCO0V2RXd3UmxFO0V1RXZ3Uk07O0lBRUUsd0JBQW9DO0V2RXl3UjVDO0V1RXZ3Uk07O0lBRUUsMEJBQXdDO0V2RXl3UmhEO0V1RXZ3Uk07O0lBRUUsMkJBQTBDO0V2RXl3UmxEO0V1RXZ3Uk07O0lBRUUseUJBQXNDO0V2RXl3UjlDO0V1RXh4Uk07SUFBZ0MsMEJBQTRCO0V2RTJ4UmxFO0V1RTF4Uk07O0lBRUUsOEJBQW9DO0V2RTR4UjVDO0V1RTF4Uk07O0lBRUUsZ0NBQXdDO0V2RTR4UmhEO0V1RTF4Uk07O0lBRUUsaUNBQTBDO0V2RTR4UmxEO0V1RTF4Uk07O0lBRUUsK0JBQXNDO0V2RTR4UjlDO0V1RTN5Uk07SUFBZ0MseUJBQTRCO0V2RTh5UmxFO0V1RTd5Uk07O0lBRUUsNkJBQW9DO0V2RSt5UjVDO0V1RTd5Uk07O0lBRUUsK0JBQXdDO0V2RSt5UmhEO0V1RTd5Uk07O0lBRUUsZ0NBQTBDO0V2RSt5UmxEO0V1RTd5Uk07O0lBRUUsOEJBQXNDO0V2RSt5UjlDO0V1RTl6Uk07SUFBZ0MsdUJBQTRCO0V2RWkwUmxFO0V1RWgwUk07O0lBRUUsMkJBQW9DO0V2RWswUjVDO0V1RWgwUk07O0lBRUUsNkJBQXdDO0V2RWswUmhEO0V1RWgwUk07O0lBRUUsOEJBQTBDO0V2RWswUmxEO0V1RWgwUk07O0lBRUUsNEJBQXNDO0V2RWswUjlDO0V1RWoxUk07SUFBZ0MseUJBQTRCO0V2RW8xUmxFO0V1RW4xUk07O0lBRUUsNkJBQW9DO0V2RXExUjVDO0V1RW4xUk07O0lBRUUsK0JBQXdDO0V2RXExUmhEO0V1RW4xUk07O0lBRUUsZ0NBQTBDO0V2RXExUmxEO0V1RW4xUk07O0lBRUUsOEJBQXNDO0V2RXExUjlDO0V1RXAyUk07SUFBZ0MsdUJBQTRCO0V2RXUyUmxFO0V1RXQyUk07O0lBRUUsMkJBQW9DO0V2RXcyUjVDO0V1RXQyUk07O0lBRUUsNkJBQXdDO0V2RXcyUmhEO0V1RXQyUk07O0lBRUUsOEJBQTBDO0V2RXcyUmxEO0V1RXQyUk07O0lBRUUsNEJBQXNDO0V2RXcyUjlDO0V1RXYzUk07SUFBZ0MscUJBQTRCO0V2RTAzUmxFO0V1RXozUk07O0lBRUUseUJBQW9DO0V2RTIzUjVDO0V1RXozUk07O0lBRUUsMkJBQXdDO0V2RTIzUmhEO0V1RXozUk07O0lBRUUsNEJBQTBDO0V2RTIzUmxEO0V1RXozUk07O0lBRUUsMEJBQXNDO0V2RTIzUjlDO0V1RTE0Uk07SUFBZ0MsMkJBQTRCO0V2RTY0UmxFO0V1RTU0Uk07O0lBRUUsK0JBQW9DO0V2RTg0UjVDO0V1RTU0Uk07O0lBRUUsaUNBQXdDO0V2RTg0UmhEO0V1RTU0Uk07O0lBRUUsa0NBQTBDO0V2RTg0UmxEO0V1RTU0Uk07O0lBRUUsZ0NBQXNDO0V2RTg0UjlDO0V1RTc1Uk07SUFBZ0MsMEJBQTRCO0V2RWc2UmxFO0V1RS81Uk07O0lBRUUsOEJBQW9DO0V2RWk2UjVDO0V1RS81Uk07O0lBRUUsZ0NBQXdDO0V2RWk2UmhEO0V1RS81Uk07O0lBRUUsaUNBQTBDO0V2RWk2UmxEO0V1RS81Uk07O0lBRUUsK0JBQXNDO0V2RWk2UjlDO0V1RWg3Uk07SUFBZ0Msd0JBQTRCO0V2RW03UmxFO0V1RWw3Uk07O0lBRUUsNEJBQW9DO0V2RW83UjVDO0V1RWw3Uk07O0lBRUUsOEJBQXdDO0V2RW83UmhEO0V1RWw3Uk07O0lBRUUsK0JBQTBDO0V2RW83UmxEO0V1RWw3Uk07O0lBRUUsNkJBQXNDO0V2RW83UjlDO0V1RW44Uk07SUFBZ0MsMEJBQTRCO0V2RXM4UmxFO0V1RXI4Uk07O0lBRUUsOEJBQW9DO0V2RXU4UjVDO0V1RXI4Uk07O0lBRUUsZ0NBQXdDO0V2RXU4UmhEO0V1RXI4Uk07O0lBRUUsaUNBQTBDO0V2RXU4UmxEO0V1RXI4Uk07O0lBRUUsK0JBQXNDO0V2RXU4UjlDO0V1RXQ5Uk07SUFBZ0Msd0JBQTRCO0V2RXk5UmxFO0V1RXg5Uk07O0lBRUUsNEJBQW9DO0V2RTA5UjVDO0V1RXg5Uk07O0lBRUUsOEJBQXdDO0V2RTA5UmhEO0V1RXg5Uk07O0lBRUUsK0JBQTBDO0V2RTA5UmxEO0V1RXg5Uk07O0lBRUUsNkJBQXNDO0V2RTA5UjlDO0V1RWw5Uk07SUFBd0IsMkJBQTJCO0V2RXE5UnpEO0V1RXA5Uk07O0lBRUUsK0JBQStCO0V2RXM5UnZDO0V1RXA5Uk07O0lBRUUsaUNBQWlDO0V2RXM5UnpDO0V1RXA5Uk07O0lBRUUsa0NBQWtDO0V2RXM5UjFDO0V1RXA5Uk07O0lBRUUsZ0NBQWdDO0V2RXM5UnhDO0V1RXIrUk07SUFBd0IsMEJBQTJCO0V2RXcrUnpEO0V1RXYrUk07O0lBRUUsOEJBQStCO0V2RXkrUnZDO0V1RXYrUk07O0lBRUUsZ0NBQWlDO0V2RXkrUnpDO0V1RXYrUk07O0lBRUUsaUNBQWtDO0V2RXkrUjFDO0V1RXYrUk07O0lBRUUsK0JBQWdDO0V2RXkrUnhDO0V1RXgvUk07SUFBd0Isd0JBQTJCO0V2RTIvUnpEO0V1RTEvUk07O0lBRUUsNEJBQStCO0V2RTQvUnZDO0V1RTEvUk07O0lBRUUsOEJBQWlDO0V2RTQvUnpDO0V1RTEvUk07O0lBRUUsK0JBQWtDO0V2RTQvUjFDO0V1RTEvUk07O0lBRUUsNkJBQWdDO0V2RTQvUnhDO0V1RTNnU007SUFBd0IsMEJBQTJCO0V2RThnU3pEO0V1RTdnU007O0lBRUUsOEJBQStCO0V2RStnU3ZDO0V1RTdnU007O0lBRUUsZ0NBQWlDO0V2RStnU3pDO0V1RTdnU007O0lBRUUsaUNBQWtDO0V2RStnUzFDO0V1RTdnU007O0lBRUUsK0JBQWdDO0V2RStnU3hDO0V1RTloU007SUFBd0Isd0JBQTJCO0V2RWlpU3pEO0V1RWhpU007O0lBRUUsNEJBQStCO0V2RWtpU3ZDO0V1RWhpU007O0lBRUUsOEJBQWlDO0V2RWtpU3pDO0V1RWhpU007O0lBRUUsK0JBQWtDO0V2RWtpUzFDO0V1RWhpU007O0lBRUUsNkJBQWdDO0V2RWtpU3hDO0V1RTVoU0U7SUFBbUIsdUJBQXVCO0V2RStoUzVDO0V1RTloU0U7O0lBRUUsMkJBQTJCO0V2RWdpUy9CO0V1RTloU0U7O0lBRUUsNkJBQTZCO0V2RWdpU2pDO0V1RTloU0U7O0lBRUUsOEJBQThCO0V2RWdpU2xDO0V1RTloU0U7O0lBRUUsNEJBQTRCO0V2RWdpU2hDO0FBQ0Y7QXdFaG1TQTtFQUFrQiw0R0FBOEM7QXhFb21TaEU7QXdFaG1TQTtFQUFpQiw4QkFBOEI7QXhFb21TL0M7QXdFbm1TQTtFQUFpQiw4QkFBOEI7QXhFdW1TL0M7QXdFdG1TQTtFQUFpQiw4QkFBOEI7QXhFMG1TL0M7QXdFem1TQTtFQ1RFLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsbUJBQW1CO0F6RXNuU3JCO0F3RXZtU0k7RUFBd0IsMkJBQTJCO0F4RTJtU3ZEO0F3RTFtU0k7RUFBd0IsNEJBQTRCO0F4RThtU3hEO0F3RTdtU0k7RUFBd0IsNkJBQTZCO0F4RWluU3pEO0FjNWtTSTtFMER2Q0E7SUFBd0IsMkJBQTJCO0V4RXduU3JEO0V3RXZuU0U7SUFBd0IsNEJBQTRCO0V4RTBuU3REO0V3RXpuU0U7SUFBd0IsNkJBQTZCO0V4RTRuU3ZEO0FBQ0Y7QWN4bFNJO0UwRHZDQTtJQUF3QiwyQkFBMkI7RXhFb29TckQ7RXdFbm9TRTtJQUF3Qiw0QkFBNEI7RXhFc29TdEQ7RXdFcm9TRTtJQUF3Qiw2QkFBNkI7RXhFd29TdkQ7QUFDRjtBY3BtU0k7RTBEdkNBO0lBQXdCLDJCQUEyQjtFeEVncFNyRDtFd0Uvb1NFO0lBQXdCLDRCQUE0QjtFeEVrcFN0RDtFd0VqcFNFO0lBQXdCLDZCQUE2QjtFeEVvcFN2RDtBQUNGO0FjaG5TSTtFMER2Q0E7SUFBd0IsMkJBQTJCO0V4RTRwU3JEO0V3RTNwU0U7SUFBd0IsNEJBQTRCO0V4RThwU3REO0V3RTdwU0U7SUFBd0IsNkJBQTZCO0V4RWdxU3ZEO0FBQ0Y7QXdFM3BTQTtFQUFtQixvQ0FBb0M7QXhFK3BTdkQ7QXdFOXBTQTtFQUFtQixvQ0FBb0M7QXhFa3FTdkQ7QXdFanFTQTtFQUFtQixxQ0FBcUM7QXhFcXFTeEQ7QXdFanFTQTtFQUF1QiwyQkFBMEM7QXhFcXFTakU7QXdFcHFTQTtFQUF1QiwrQkFBNEM7QXhFd3FTbkU7QXdFdnFTQTtFQUF1QiwyQkFBMkM7QXhFMnFTbEU7QXdFMXFTQTtFQUF1QiwyQkFBeUM7QXhFOHFTaEU7QXdFN3FTQTtFQUF1Qiw4QkFBMkM7QXhFaXJTbEU7QXdFaHJTQTtFQUF1Qiw2QkFBNkI7QXhFb3JTcEQ7QXdFaHJTQTtFQUFjLHNCQUF3QjtBeEVvclN0QztBMEUzdFNFO0VBQ0UseUJBQXdCO0ExRTh0UzVCO0FLcHRTRTtFcUVMTSx5QkFBMEU7QTFFNnRTbEY7QTBFbnVTRTtFQUNFLHlCQUF3QjtBMUVzdVM1QjtBSzV0U0U7RXFFTE0seUJBQTBFO0ExRXF1U2xGO0EwRTN1U0U7RUFDRSx5QkFBd0I7QTFFOHVTNUI7QUtwdVNFO0VxRUxNLHlCQUEwRTtBMUU2dVNsRjtBMEVudlNFO0VBQ0UseUJBQXdCO0ExRXN2UzVCO0FLNXVTRTtFcUVMTSx5QkFBMEU7QTFFcXZTbEY7QTBFM3ZTRTtFQUNFLHlCQUF3QjtBMUU4dlM1QjtBS3B2U0U7RXFFTE0seUJBQTBFO0ExRTZ2U2xGO0EwRW53U0U7RUFDRSx5QkFBd0I7QTFFc3dTNUI7QUs1dlNFO0VxRUxNLHlCQUEwRTtBMUVxd1NsRjtBMEUzd1NFO0VBQ0UseUJBQXdCO0ExRTh3UzVCO0FLcHdTRTtFcUVMTSx5QkFBMEU7QTFFNndTbEY7QTBFbnhTRTtFQUNFLHlCQUF3QjtBMUVzeFM1QjtBSzV3U0U7RXFFTE0seUJBQTBFO0ExRXF4U2xGO0F3RTl1U0E7RUFBYSx5QkFBNkI7QXhFa3ZTMUM7QXdFanZTQTtFQUFjLHlCQUE2QjtBeEVxdlMzQztBd0VudlNBO0VBQWlCLG9DQUFrQztBeEV1dlNuRDtBd0V0dlNBO0VBQWlCLDBDQUFrQztBeEUwdlNuRDtBd0V0dlNBO0VHdkRFLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLDZCQUE2QjtFQUM3QixTQUFTO0EzRWl6U1g7QXdFMXZTQTtFQUF3QixnQ0FBZ0M7QXhFOHZTeEQ7QXdFNXZTQTtFQUNFLGlDQUFpQztFQUNqQyxvQ0FBb0M7QXhFK3ZTdEM7QXdFMXZTQTtFQUFjLHlCQUF5QjtBeEU4dlN2QztBNEUvelNBO0VBQ0UsOEJBQThCO0E1RWswU2hDO0E0RS96U0E7RUFDRSw2QkFBNkI7QTVFazBTL0I7QTZFbDBTRTtFM0VPRjs7O0kyRURNLDRCQUE0QjtJQUU1QiwyQkFBMkI7RTdFazBTL0I7RTZFL3pTRTtJQUVJLDBCQUEwQjtFN0VnMFNoQztFNkV2elNFO0lBQ0UsNkJBQTZCO0U3RXl6U2pDO0VFM25TRjtJMkUvS00sZ0NBQWdDO0U3RTZ5U3BDO0U2RTN5U0U7O0lBRUUseUIxRXpDWTtJMEUwQ1osd0JBQXdCO0U3RTZ5UzVCO0U2RXJ5U0U7SUFDRSwyQkFBMkI7RTdFdXlTL0I7RTZFcHlTRTs7SUFFRSx3QkFBd0I7RTdFc3lTNUI7RTZFbnlTRTs7O0lBR0UsVUFBVTtJQUNWLFNBQVM7RTdFcXlTYjtFNkVseVNFOztJQUVFLHVCQUF1QjtFN0VveVMzQjtFNkU1eFNFO0lBQ0UsUTFFNGhDZ0M7RUhrd1FwQztFRTEwU0Y7STJFK0NNLDJCQUEyQztFN0U4eFMvQztFWXAzU0E7SWlFeUZJLDJCQUEyQztFN0U4eFMvQztFaUM1MlNGO0k0Q21GTSxhQUFhO0U3RTR4U2pCO0VzQzMzU0Y7SXVDa0dNLHNCMUV0RlM7RUhrM1NiO0VnQi8zU0Y7STZEdUdNLG9DQUFvQztFN0UyeFN4QztFNkU1eFNFOztJQUtJLGlDQUFtQztFN0UyeFN6QztFZ0I5MVNGOztJNkQwRVEsb0NBQXNDO0U3RXd4UzVDO0VnQjd3U0Y7STZETk0sY0FBYztFN0VzeFNsQjtFaUI1NFNBOzs7O0k0RDRITSxxQjFFdkhVO0VINjRTaEI7RWdCeHlTRjtJNkR1Qk0sY0FBYztJQUNkLHFCMUU3SFk7RUhpNVNoQjtBQUNGO0FBbWxCQSx3Q0FBd0MiLCJmaWxlIjoibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9kaXN0L2Nzcy9ib290c3RyYXAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBCb290c3RyYXAgdjQuNC4xIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICogQ29weXJpZ2h0IDIwMTEtMjAxOSBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAqIENvcHlyaWdodCAyMDExLTIwMTkgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqL1xuXG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwicm9vdFwiO1xuQGltcG9ydCBcInJlYm9vdFwiO1xuQGltcG9ydCBcInR5cGVcIjtcbkBpbXBvcnQgXCJpbWFnZXNcIjtcbkBpbXBvcnQgXCJjb2RlXCI7XG5AaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcInRhYmxlc1wiO1xuQGltcG9ydCBcImZvcm1zXCI7XG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xuQGltcG9ydCBcInRyYW5zaXRpb25zXCI7XG5AaW1wb3J0IFwiZHJvcGRvd25cIjtcbkBpbXBvcnQgXCJidXR0b24tZ3JvdXBcIjtcbkBpbXBvcnQgXCJpbnB1dC1ncm91cFwiO1xuQGltcG9ydCBcImN1c3RvbS1mb3Jtc1wiO1xuQGltcG9ydCBcIm5hdlwiO1xuQGltcG9ydCBcIm5hdmJhclwiO1xuQGltcG9ydCBcImNhcmRcIjtcbkBpbXBvcnQgXCJicmVhZGNydW1iXCI7XG5AaW1wb3J0IFwicGFnaW5hdGlvblwiO1xuQGltcG9ydCBcImJhZGdlXCI7XG5AaW1wb3J0IFwianVtYm90cm9uXCI7XG5AaW1wb3J0IFwiYWxlcnRcIjtcbkBpbXBvcnQgXCJwcm9ncmVzc1wiO1xuQGltcG9ydCBcIm1lZGlhXCI7XG5AaW1wb3J0IFwibGlzdC1ncm91cFwiO1xuQGltcG9ydCBcImNsb3NlXCI7XG5AaW1wb3J0IFwidG9hc3RzXCI7XG5AaW1wb3J0IFwibW9kYWxcIjtcbkBpbXBvcnQgXCJ0b29sdGlwXCI7XG5AaW1wb3J0IFwicG9wb3ZlclwiO1xuQGltcG9ydCBcImNhcm91c2VsXCI7XG5AaW1wb3J0IFwic3Bpbm5lcnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXNcIjtcbkBpbXBvcnQgXCJwcmludFwiO1xuIiwiLyohXG4gKiBCb290c3RyYXAgdjQuNC4xIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICogQ29weXJpZ2h0IDIwMTEtMjAxOSBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAqIENvcHlyaWdodCAyMDExLTIwMTkgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqL1xuOnJvb3Qge1xuICAtLWJsdWU6ICMwMDdiZmY7XG4gIC0taW5kaWdvOiAjNjYxMGYyO1xuICAtLXB1cnBsZTogIzZmNDJjMTtcbiAgLS1waW5rOiAjZTgzZThjO1xuICAtLXJlZDogI2RjMzU0NTtcbiAgLS1vcmFuZ2U6ICNmZDdlMTQ7XG4gIC0teWVsbG93OiAjZmZjMTA3O1xuICAtLWdyZWVuOiAjMjhhNzQ1O1xuICAtLXRlYWw6ICMyMGM5OTc7XG4gIC0tY3lhbjogIzE3YTJiODtcbiAgLS13aGl0ZTogI2ZmZjtcbiAgLS1ncmF5OiAjNmM3NTdkO1xuICAtLWdyYXktZGFyazogIzM0M2E0MDtcbiAgLS1wcmltYXJ5OiAjMDA3YmZmO1xuICAtLXNlY29uZGFyeTogIzZjNzU3ZDtcbiAgLS1zdWNjZXNzOiAjMjhhNzQ1O1xuICAtLWluZm86ICMxN2EyYjg7XG4gIC0td2FybmluZzogI2ZmYzEwNztcbiAgLS1kYW5nZXI6ICNkYzM1NDU7XG4gIC0tbGlnaHQ6ICNmOGY5ZmE7XG4gIC0tZGFyazogIzM0M2E0MDtcbiAgLS1icmVha3BvaW50LXhzOiAwO1xuICAtLWJyZWFrcG9pbnQtc206IDU3NnB4O1xuICAtLWJyZWFrcG9pbnQtbWQ6IDc2OHB4O1xuICAtLWJyZWFrcG9pbnQtbGc6IDk5MnB4O1xuICAtLWJyZWFrcG9pbnQteGw6IDEyMDBweDtcbiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuYXJ0aWNsZSwgYXNpZGUsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5hYmJyW3RpdGxlXSxcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0ge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbn1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0uMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtLjVlbTtcbn1cblxuYSB7XG4gIGNvbG9yOiAjMDA3YmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG5hOmhvdmVyIHtcbiAgY29sb3I6ICMwMDU2YjM7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5hOm5vdChbaHJlZl0pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYTpub3QoW2hyZWZdKTpob3ZlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG5wcmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5zdmcge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gIGNvbG9yOiAjNmM3NTdkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxudGgge1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5zZWxlY3Qge1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuYnV0dG9uOm5vdCg6ZGlzYWJsZWQpLFxuW3R5cGU9XCJidXR0b25cIl06bm90KDpkaXNhYmxlZCksXG5bdHlwZT1cInJlc2V0XCJdOm5vdCg6ZGlzYWJsZWQpLFxuW3R5cGU9XCJzdWJtaXRcIl06bm90KDpkaXNhYmxlZCkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwO1xufVxuXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBsaXN0Ym94O1xufVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBmb250OiBpbmhlcml0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG59XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDJyZW07XG59XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuNzVyZW07XG59XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDEuNXJlbTtcbn1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi5kaXNwbGF5LTEge1xuICBmb250LXNpemU6IDZyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5kaXNwbGF5LTIge1xuICBmb250LXNpemU6IDUuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLmRpc3BsYXktMyB7XG4gIGZvbnQtc2l6ZTogNC41cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4uZGlzcGxheS00IHtcbiAgZm9udC1zaXplOiAzLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG5zbWFsbCxcbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAwLjJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcbn1cblxuLmxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5saXN0LWlubGluZSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5saXN0LWlubGluZS1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICM2Yzc1N2Q7XG59XG5cbi5ibG9ja3F1b3RlLWZvb3Rlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIwMTRcXDAwQTBcIjtcbn1cblxuLmltZy1mbHVpZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6IDAuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZmlndXJlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogIzZjNzU3ZDtcbn1cblxuY29kZSB7XG4gIGZvbnQtc2l6ZTogODcuNSU7XG4gIGNvbG9yOiAjZTgzZThjO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbmEgPiBjb2RlIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbmtiZCB7XG4gIHBhZGRpbmc6IDAuMnJlbSAwLjRyZW07XG4gIGZvbnQtc2l6ZTogODcuNSU7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyNTI5O1xuICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG59XG5cbmtiZCBrYmQge1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDg3LjUlO1xuICBjb2xvcjogIzIxMjUyOTtcbn1cblxucHJlIGNvZGUge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG59XG5cbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6IDM0MHB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi5jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA1NDBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTE0MHB4O1xuICB9XG59XG5cbi5jb250YWluZXItZmx1aWQsIC5jb250YWluZXItc20sIC5jb250YWluZXItbWQsIC5jb250YWluZXItbGcsIC5jb250YWluZXIteGwge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmNvbnRhaW5lciwgLmNvbnRhaW5lci1zbSB7XG4gICAgbWF4LXdpZHRoOiA1NDBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbnRhaW5lciwgLmNvbnRhaW5lci1zbSwgLmNvbnRhaW5lci1tZCB7XG4gICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNvbnRhaW5lciwgLmNvbnRhaW5lci1zbSwgLmNvbnRhaW5lci1tZCwgLmNvbnRhaW5lci1sZyB7XG4gICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb250YWluZXIsIC5jb250YWluZXItc20sIC5jb250YWluZXItbWQsIC5jb250YWluZXItbGcsIC5jb250YWluZXIteGwge1xuICAgIG1heC13aWR0aDogMTE0MHB4O1xuICB9XG59XG5cbi5yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbn1cblxuLm5vLWd1dHRlcnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ubm8tZ3V0dGVycyA+IC5jb2wsXG4ubm8tZ3V0dGVycyA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uY29sLTEsIC5jb2wtMiwgLmNvbC0zLCAuY29sLTQsIC5jb2wtNSwgLmNvbC02LCAuY29sLTcsIC5jb2wtOCwgLmNvbC05LCAuY29sLTEwLCAuY29sLTExLCAuY29sLTEyLCAuY29sLFxuLmNvbC1hdXRvLCAuY29sLXNtLTEsIC5jb2wtc20tMiwgLmNvbC1zbS0zLCAuY29sLXNtLTQsIC5jb2wtc20tNSwgLmNvbC1zbS02LCAuY29sLXNtLTcsIC5jb2wtc20tOCwgLmNvbC1zbS05LCAuY29sLXNtLTEwLCAuY29sLXNtLTExLCAuY29sLXNtLTEyLCAuY29sLXNtLFxuLmNvbC1zbS1hdXRvLCAuY29sLW1kLTEsIC5jb2wtbWQtMiwgLmNvbC1tZC0zLCAuY29sLW1kLTQsIC5jb2wtbWQtNSwgLmNvbC1tZC02LCAuY29sLW1kLTcsIC5jb2wtbWQtOCwgLmNvbC1tZC05LCAuY29sLW1kLTEwLCAuY29sLW1kLTExLCAuY29sLW1kLTEyLCAuY29sLW1kLFxuLmNvbC1tZC1hdXRvLCAuY29sLWxnLTEsIC5jb2wtbGctMiwgLmNvbC1sZy0zLCAuY29sLWxnLTQsIC5jb2wtbGctNSwgLmNvbC1sZy02LCAuY29sLWxnLTcsIC5jb2wtbGctOCwgLmNvbC1sZy05LCAuY29sLWxnLTEwLCAuY29sLWxnLTExLCAuY29sLWxnLTEyLCAuY29sLWxnLFxuLmNvbC1sZy1hdXRvLCAuY29sLXhsLTEsIC5jb2wteGwtMiwgLmNvbC14bC0zLCAuY29sLXhsLTQsIC5jb2wteGwtNSwgLmNvbC14bC02LCAuY29sLXhsLTcsIC5jb2wteGwtOCwgLmNvbC14bC05LCAuY29sLXhsLTEwLCAuY29sLXhsLTExLCAuY29sLXhsLTEyLCAuY29sLXhsLFxuLmNvbC14bC1hdXRvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4uY29sIHtcbiAgZmxleC1iYXNpczogMDtcbiAgZmxleC1ncm93OiAxO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5yb3ctY29scy0xID4gKiB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5yb3ctY29scy0yID4gKiB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlO1xufVxuXG4ucm93LWNvbHMtMyA+ICoge1xuICBmbGV4OiAwIDAgMzMuMzMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMzMlO1xufVxuXG4ucm93LWNvbHMtNCA+ICoge1xuICBmbGV4OiAwIDAgMjUlO1xuICBtYXgtd2lkdGg6IDI1JTtcbn1cblxuLnJvdy1jb2xzLTUgPiAqIHtcbiAgZmxleDogMCAwIDIwJTtcbiAgbWF4LXdpZHRoOiAyMCU7XG59XG5cbi5yb3ctY29scy02ID4gKiB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NjclO1xuICBtYXgtd2lkdGg6IDE2LjY2NjY2NyU7XG59XG5cbi5jb2wtYXV0byB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY29sLTEge1xuICBmbGV4OiAwIDAgOC4zMzMzMzMlO1xuICBtYXgtd2lkdGg6IDguMzMzMzMzJTtcbn1cblxuLmNvbC0yIHtcbiAgZmxleDogMCAwIDE2LjY2NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjY3JTtcbn1cblxuLmNvbC0zIHtcbiAgZmxleDogMCAwIDI1JTtcbiAgbWF4LXdpZHRoOiAyNSU7XG59XG5cbi5jb2wtNCB7XG4gIGZsZXg6IDAgMCAzMy4zMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzMyU7XG59XG5cbi5jb2wtNSB7XG4gIGZsZXg6IDAgMCA0MS42NjY2NjclO1xuICBtYXgtd2lkdGg6IDQxLjY2NjY2NyU7XG59XG5cbi5jb2wtNiB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlO1xufVxuXG4uY29sLTcge1xuICBmbGV4OiAwIDAgNTguMzMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMzMlO1xufVxuXG4uY29sLTgge1xuICBmbGV4OiAwIDAgNjYuNjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NjclO1xufVxuXG4uY29sLTkge1xuICBmbGV4OiAwIDAgNzUlO1xuICBtYXgtd2lkdGg6IDc1JTtcbn1cblxuLmNvbC0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMzMlO1xuICBtYXgtd2lkdGg6IDgzLjMzMzMzMyU7XG59XG5cbi5jb2wtMTEge1xuICBmbGV4OiAwIDAgOTEuNjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA5MS42NjY2NjclO1xufVxuXG4uY29sLTEyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLm9yZGVyLWZpcnN0IHtcbiAgb3JkZXI6IC0xO1xufVxuXG4ub3JkZXItbGFzdCB7XG4gIG9yZGVyOiAxMztcbn1cblxuLm9yZGVyLTAge1xuICBvcmRlcjogMDtcbn1cblxuLm9yZGVyLTEge1xuICBvcmRlcjogMTtcbn1cblxuLm9yZGVyLTIge1xuICBvcmRlcjogMjtcbn1cblxuLm9yZGVyLTMge1xuICBvcmRlcjogMztcbn1cblxuLm9yZGVyLTQge1xuICBvcmRlcjogNDtcbn1cblxuLm9yZGVyLTUge1xuICBvcmRlcjogNTtcbn1cblxuLm9yZGVyLTYge1xuICBvcmRlcjogNjtcbn1cblxuLm9yZGVyLTcge1xuICBvcmRlcjogNztcbn1cblxuLm9yZGVyLTgge1xuICBvcmRlcjogODtcbn1cblxuLm9yZGVyLTkge1xuICBvcmRlcjogOTtcbn1cblxuLm9yZGVyLTEwIHtcbiAgb3JkZXI6IDEwO1xufVxuXG4ub3JkZXItMTEge1xuICBvcmRlcjogMTE7XG59XG5cbi5vcmRlci0xMiB7XG4gIG9yZGVyOiAxMjtcbn1cblxuLm9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzJTtcbn1cblxuLm9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NyU7XG59XG5cbi5vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG5cbi5vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMlO1xufVxuXG4ub2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjY3JTtcbn1cblxuLm9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLm9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMyU7XG59XG5cbi5vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjclO1xufVxuXG4ub2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4ub2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMyU7XG59XG5cbi5vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjY3JTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jb2wtc20ge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAucm93LWNvbHMtc20tMSA+ICoge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAucm93LWNvbHMtc20tMiA+ICoge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLnJvdy1jb2xzLXNtLTMgPiAqIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMyU7XG4gIH1cbiAgLnJvdy1jb2xzLXNtLTQgPiAqIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC5yb3ctY29scy1zbS01ID4gKiB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTtcbiAgfVxuICAucm93LWNvbHMtc20tNiA+ICoge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLWF1dG8ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAuY29sLXNtLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC5jb2wtc20tNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NjclO1xuICB9XG4gIC5jb2wtc20tNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAuY29sLXNtLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG4gIH1cbiAgLmNvbC1zbS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm9yZGVyLXNtLWZpcnN0IHtcbiAgICBvcmRlcjogLTE7XG4gIH1cbiAgLm9yZGVyLXNtLWxhc3Qge1xuICAgIG9yZGVyOiAxMztcbiAgfVxuICAub3JkZXItc20tMCB7XG4gICAgb3JkZXI6IDA7XG4gIH1cbiAgLm9yZGVyLXNtLTEge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC5vcmRlci1zbS0yIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAub3JkZXItc20tMyB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLm9yZGVyLXNtLTQge1xuICAgIG9yZGVyOiA0O1xuICB9XG4gIC5vcmRlci1zbS01IHtcbiAgICBvcmRlcjogNTtcbiAgfVxuICAub3JkZXItc20tNiB7XG4gICAgb3JkZXI6IDY7XG4gIH1cbiAgLm9yZGVyLXNtLTcge1xuICAgIG9yZGVyOiA3O1xuICB9XG4gIC5vcmRlci1zbS04IHtcbiAgICBvcmRlcjogODtcbiAgfVxuICAub3JkZXItc20tOSB7XG4gICAgb3JkZXI6IDk7XG4gIH1cbiAgLm9yZGVyLXNtLTEwIHtcbiAgICBvcmRlcjogMTA7XG4gIH1cbiAgLm9yZGVyLXNtLTExIHtcbiAgICBvcmRlcjogMTE7XG4gIH1cbiAgLm9yZGVyLXNtLTEyIHtcbiAgICBvcmRlcjogMTI7XG4gIH1cbiAgLm9mZnNldC1zbS0wIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAub2Zmc2V0LXNtLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMyU7XG4gIH1cbiAgLm9mZnNldC1zbS0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LXNtLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLm9mZnNldC1zbS00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LXNtLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjclO1xuICB9XG4gIC5vZmZzZXQtc20tNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAub2Zmc2V0LXNtLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtc20tOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NyU7XG4gIH1cbiAgLm9mZnNldC1zbS05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5vZmZzZXQtc20tMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtc20tMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjclO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sLW1kIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnJvdy1jb2xzLW1kLTEgPiAqIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnJvdy1jb2xzLW1kLTIgPiAqIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC5yb3ctY29scy1tZC0zID4gKiB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMlO1xuICB9XG4gIC5yb3ctY29scy1tZC00ID4gKiB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuICAucm93LWNvbHMtbWQtNSA+ICoge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7XG4gIH1cbiAgLnJvdy1jb2xzLW1kLTYgPiAqIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC1hdXRvIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNvbC1tZC0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjclO1xuICB9XG4gIC5jb2wtbWQtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuICAuY29sLW1kLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbC1tZC03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlO1xuICB9XG4gIC5jb2wtbWQtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5vcmRlci1tZC1maXJzdCB7XG4gICAgb3JkZXI6IC0xO1xuICB9XG4gIC5vcmRlci1tZC1sYXN0IHtcbiAgICBvcmRlcjogMTM7XG4gIH1cbiAgLm9yZGVyLW1kLTAge1xuICAgIG9yZGVyOiAwO1xuICB9XG4gIC5vcmRlci1tZC0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAub3JkZXItbWQtMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLm9yZGVyLW1kLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC5vcmRlci1tZC00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAub3JkZXItbWQtNSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgLm9yZGVyLW1kLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG4gIC5vcmRlci1tZC03IHtcbiAgICBvcmRlcjogNztcbiAgfVxuICAub3JkZXItbWQtOCB7XG4gICAgb3JkZXI6IDg7XG4gIH1cbiAgLm9yZGVyLW1kLTkge1xuICAgIG9yZGVyOiA5O1xuICB9XG4gIC5vcmRlci1tZC0xMCB7XG4gICAgb3JkZXI6IDEwO1xuICB9XG4gIC5vcmRlci1tZC0xMSB7XG4gICAgb3JkZXI6IDExO1xuICB9XG4gIC5vcmRlci1tZC0xMiB7XG4gICAgb3JkZXI6IDEyO1xuICB9XG4gIC5vZmZzZXQtbWQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm9mZnNldC1tZC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtbWQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NyU7XG4gIH1cbiAgLm9mZnNldC1tZC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5vZmZzZXQtbWQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMyU7XG4gIH1cbiAgLm9mZnNldC1tZC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LW1kLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLm9mZnNldC1tZC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LW1kLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjclO1xuICB9XG4gIC5vZmZzZXQtbWQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAub2Zmc2V0LW1kLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LW1kLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY3JTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNvbC1sZyB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5yb3ctY29scy1sZy0xID4gKiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5yb3ctY29scy1sZy0yID4gKiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAucm93LWNvbHMtbGctMyA+ICoge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzJTtcbiAgfVxuICAucm93LWNvbHMtbGctNCA+ICoge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cbiAgLnJvdy1jb2xzLWxnLTUgPiAqIHtcbiAgICBmbGV4OiAwIDAgMjAlO1xuICAgIG1heC13aWR0aDogMjAlO1xuICB9XG4gIC5yb3ctY29scy1sZy02ID4gKiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjclO1xuICB9XG4gIC5jb2wtbGctYXV0byB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb2wtbGctMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY3JTtcbiAgfVxuICAuY29sLWxnLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cbiAgLmNvbC1sZy00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC5jb2wtbGctNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMlO1xuICB9XG4gIC5jb2wtbGctOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjclO1xuICB9XG4gIC5jb2wtbGctOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgfVxuICAuY29sLWxnLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NjclO1xuICB9XG4gIC5jb2wtbGctMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAub3JkZXItbGctZmlyc3Qge1xuICAgIG9yZGVyOiAtMTtcbiAgfVxuICAub3JkZXItbGctbGFzdCB7XG4gICAgb3JkZXI6IDEzO1xuICB9XG4gIC5vcmRlci1sZy0wIHtcbiAgICBvcmRlcjogMDtcbiAgfVxuICAub3JkZXItbGctMSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLm9yZGVyLWxnLTIge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC5vcmRlci1sZy0zIHtcbiAgICBvcmRlcjogMztcbiAgfVxuICAub3JkZXItbGctNCB7XG4gICAgb3JkZXI6IDQ7XG4gIH1cbiAgLm9yZGVyLWxnLTUge1xuICAgIG9yZGVyOiA1O1xuICB9XG4gIC5vcmRlci1sZy02IHtcbiAgICBvcmRlcjogNjtcbiAgfVxuICAub3JkZXItbGctNyB7XG4gICAgb3JkZXI6IDc7XG4gIH1cbiAgLm9yZGVyLWxnLTgge1xuICAgIG9yZGVyOiA4O1xuICB9XG4gIC5vcmRlci1sZy05IHtcbiAgICBvcmRlcjogOTtcbiAgfVxuICAub3JkZXItbGctMTAge1xuICAgIG9yZGVyOiAxMDtcbiAgfVxuICAub3JkZXItbGctMTEge1xuICAgIG9yZGVyOiAxMTtcbiAgfVxuICAub3JkZXItbGctMTIge1xuICAgIG9yZGVyOiAxMjtcbiAgfVxuICAub2Zmc2V0LWxnLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5vZmZzZXQtbGctMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LWxnLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjclO1xuICB9XG4gIC5vZmZzZXQtbGctMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAub2Zmc2V0LWxnLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtbGctNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NyU7XG4gIH1cbiAgLm9mZnNldC1sZy02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5vZmZzZXQtbGctNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMyU7XG4gIH1cbiAgLm9mZnNldC1sZy04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LWxnLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLm9mZnNldC1sZy0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMyU7XG4gIH1cbiAgLm9mZnNldC1sZy0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NyU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29sLXhsIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnJvdy1jb2xzLXhsLTEgPiAqIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnJvdy1jb2xzLXhsLTIgPiAqIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC5yb3ctY29scy14bC0zID4gKiB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMlO1xuICB9XG4gIC5yb3ctY29scy14bC00ID4gKiB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuICAucm93LWNvbHMteGwtNSA+ICoge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7XG4gIH1cbiAgLnJvdy1jb2xzLXhsLTYgPiAqIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NyU7XG4gIH1cbiAgLmNvbC14bC1hdXRvIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNvbC14bC0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMzMlO1xuICB9XG4gIC5jb2wteGwtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjclO1xuICB9XG4gIC5jb2wteGwtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuICAuY29sLXhsLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzJTtcbiAgfVxuICAuY29sLXhsLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjY3JTtcbiAgfVxuICAuY29sLXhsLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbC14bC03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzMyU7XG4gIH1cbiAgLmNvbC14bC04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NyU7XG4gIH1cbiAgLmNvbC14bC05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlO1xuICB9XG4gIC5jb2wteGwtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMzJTtcbiAgfVxuICAuY29sLXhsLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NyU7XG4gIH1cbiAgLmNvbC14bC0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5vcmRlci14bC1maXJzdCB7XG4gICAgb3JkZXI6IC0xO1xuICB9XG4gIC5vcmRlci14bC1sYXN0IHtcbiAgICBvcmRlcjogMTM7XG4gIH1cbiAgLm9yZGVyLXhsLTAge1xuICAgIG9yZGVyOiAwO1xuICB9XG4gIC5vcmRlci14bC0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAub3JkZXIteGwtMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLm9yZGVyLXhsLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC5vcmRlci14bC00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAub3JkZXIteGwtNSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgLm9yZGVyLXhsLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG4gIC5vcmRlci14bC03IHtcbiAgICBvcmRlcjogNztcbiAgfVxuICAub3JkZXIteGwtOCB7XG4gICAgb3JkZXI6IDg7XG4gIH1cbiAgLm9yZGVyLXhsLTkge1xuICAgIG9yZGVyOiA5O1xuICB9XG4gIC5vcmRlci14bC0xMCB7XG4gICAgb3JkZXI6IDEwO1xuICB9XG4gIC5vcmRlci14bC0xMSB7XG4gICAgb3JkZXI6IDExO1xuICB9XG4gIC5vcmRlci14bC0xMiB7XG4gICAgb3JkZXI6IDEyO1xuICB9XG4gIC5vZmZzZXQteGwtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm9mZnNldC14bC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQteGwtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NyU7XG4gIH1cbiAgLm9mZnNldC14bC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5vZmZzZXQteGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMyU7XG4gIH1cbiAgLm9mZnNldC14bC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LXhsLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLm9mZnNldC14bC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LXhsLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjclO1xuICB9XG4gIC5vZmZzZXQteGwtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAub2Zmc2V0LXhsLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LXhsLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY3JTtcbiAgfVxufVxuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgY29sb3I6ICMyMTI1Mjk7XG59XG5cbi50YWJsZSB0aCxcbi50YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVlMmU2O1xufVxuXG4udGFibGUgdGhlYWQgdGgge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RlZTJlNjtcbn1cblxuLnRhYmxlIHRib2R5ICsgdGJvZHkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2RlZTJlNjtcbn1cblxuLnRhYmxlLXNtIHRoLFxuLnRhYmxlLXNtIHRkIHtcbiAgcGFkZGluZzogMC4zcmVtO1xufVxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2O1xufVxuXG4udGFibGUtYm9yZGVyZWQgdGgsXG4udGFibGUtYm9yZGVyZWQgdGQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2O1xufVxuXG4udGFibGUtYm9yZGVyZWQgdGhlYWQgdGgsXG4udGFibGUtYm9yZGVyZWQgdGhlYWQgdGQge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzIHRoLFxuLnRhYmxlLWJvcmRlcmxlc3MgdGQsXG4udGFibGUtYm9yZGVybGVzcyB0aGVhZCB0aCxcbi50YWJsZS1ib3JkZXJsZXNzIHRib2R5ICsgdGJvZHkge1xuICBib3JkZXI6IDA7XG59XG5cbi50YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuXG4udGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG59XG5cbi50YWJsZS1wcmltYXJ5LFxuLnRhYmxlLXByaW1hcnkgPiB0aCxcbi50YWJsZS1wcmltYXJ5ID4gdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjhkYWZmO1xufVxuXG4udGFibGUtcHJpbWFyeSB0aCxcbi50YWJsZS1wcmltYXJ5IHRkLFxuLnRhYmxlLXByaW1hcnkgdGhlYWQgdGgsXG4udGFibGUtcHJpbWFyeSB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLWNvbG9yOiAjN2FiYWZmO1xufVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWZjZGZmO1xufVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzlmY2RmZjtcbn1cblxuLnRhYmxlLXNlY29uZGFyeSxcbi50YWJsZS1zZWNvbmRhcnkgPiB0aCxcbi50YWJsZS1zZWNvbmRhcnkgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNmQ4ZGI7XG59XG5cbi50YWJsZS1zZWNvbmRhcnkgdGgsXG4udGFibGUtc2Vjb25kYXJ5IHRkLFxuLnRhYmxlLXNlY29uZGFyeSB0aGVhZCB0aCxcbi50YWJsZS1zZWNvbmRhcnkgdGJvZHkgKyB0Ym9keSB7XG4gIGJvcmRlci1jb2xvcjogI2IzYjdiYjtcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjYmNmO1xufVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjOGNiY2Y7XG59XG5cbi50YWJsZS1zdWNjZXNzLFxuLnRhYmxlLXN1Y2Nlc3MgPiB0aCxcbi50YWJsZS1zdWNjZXNzID4gdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzNlNmNiO1xufVxuXG4udGFibGUtc3VjY2VzcyB0aCxcbi50YWJsZS1zdWNjZXNzIHRkLFxuLnRhYmxlLXN1Y2Nlc3MgdGhlYWQgdGgsXG4udGFibGUtc3VjY2VzcyB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLWNvbG9yOiAjOGZkMTllO1xufVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjFkZmJiO1xufVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IxZGZiYjtcbn1cblxuLnRhYmxlLWluZm8sXG4udGFibGUtaW5mbyA+IHRoLFxuLnRhYmxlLWluZm8gPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiZWU1ZWI7XG59XG5cbi50YWJsZS1pbmZvIHRoLFxuLnRhYmxlLWluZm8gdGQsXG4udGFibGUtaW5mbyB0aGVhZCB0aCxcbi50YWJsZS1pbmZvIHRib2R5ICsgdGJvZHkge1xuICBib3JkZXItY29sb3I6ICM4NmNmZGE7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYmRkZTU7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWJkZGU1O1xufVxuXG4udGFibGUtd2FybmluZyxcbi50YWJsZS13YXJuaW5nID4gdGgsXG4udGFibGUtd2FybmluZyA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWViYTtcbn1cblxuLnRhYmxlLXdhcm5pbmcgdGgsXG4udGFibGUtd2FybmluZyB0ZCxcbi50YWJsZS13YXJuaW5nIHRoZWFkIHRoLFxuLnRhYmxlLXdhcm5pbmcgdGJvZHkgKyB0Ym9keSB7XG4gIGJvcmRlci1jb2xvcjogI2ZmZGY3ZTtcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThhMTtcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmU4YTE7XG59XG5cbi50YWJsZS1kYW5nZXIsXG4udGFibGUtZGFuZ2VyID4gdGgsXG4udGFibGUtZGFuZ2VyID4gdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVjNmNiO1xufVxuXG4udGFibGUtZGFuZ2VyIHRoLFxuLnRhYmxlLWRhbmdlciB0ZCxcbi50YWJsZS1kYW5nZXIgdGhlYWQgdGgsXG4udGFibGUtZGFuZ2VyIHRib2R5ICsgdGJvZHkge1xuICBib3JkZXItY29sb3I6ICNlZDk2OWU7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxYjBiNztcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFiMGI3O1xufVxuXG4udGFibGUtbGlnaHQsXG4udGFibGUtbGlnaHQgPiB0aCxcbi50YWJsZS1saWdodCA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRmZTtcbn1cblxuLnRhYmxlLWxpZ2h0IHRoLFxuLnRhYmxlLWxpZ2h0IHRkLFxuLnRhYmxlLWxpZ2h0IHRoZWFkIHRoLFxuLnRhYmxlLWxpZ2h0IHRib2R5ICsgdGJvZHkge1xuICBib3JkZXItY29sb3I6ICNmYmZjZmM7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2Y2O1xufVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2Y2O1xufVxuXG4udGFibGUtZGFyayxcbi50YWJsZS1kYXJrID4gdGgsXG4udGFibGUtZGFyayA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M2YzhjYTtcbn1cblxuLnRhYmxlLWRhcmsgdGgsXG4udGFibGUtZGFyayB0ZCxcbi50YWJsZS1kYXJrIHRoZWFkIHRoLFxuLnRhYmxlLWRhcmsgdGJvZHkgKyB0Ym9keSB7XG4gIGJvcmRlci1jb2xvcjogIzk1OTk5Yztcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I5YmJiZTtcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOWJiYmU7XG59XG5cbi50YWJsZS1hY3RpdmUsXG4udGFibGUtYWN0aXZlID4gdGgsXG4udGFibGUtYWN0aXZlID4gdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbn1cblxuLnRhYmxlIC50aGVhZC1kYXJrIHRoIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7XG4gIGJvcmRlci1jb2xvcjogIzQ1NGQ1NTtcbn1cblxuLnRhYmxlIC50aGVhZC1saWdodCB0aCB7XG4gIGNvbG9yOiAjNDk1MDU3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xuICBib3JkZXItY29sb3I6ICNkZWUyZTY7XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7XG59XG5cbi50YWJsZS1kYXJrIHRoLFxuLnRhYmxlLWRhcmsgdGQsXG4udGFibGUtZGFyayB0aGVhZCB0aCB7XG4gIGJvcmRlci1jb2xvcjogIzQ1NGQ1NTtcbn1cblxuLnRhYmxlLWRhcmsudGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6IDA7XG59XG5cbi50YWJsZS1kYXJrLnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG59XG5cbi50YWJsZS1kYXJrLnRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNzUpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgLnRhYmxlLXJlc3BvbnNpdmUtc20ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG4gIC50YWJsZS1yZXNwb25zaXZlLXNtID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlLW1kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuICAudGFibGUtcmVzcG9uc2l2ZS1tZCA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZS1sZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbiAgLnRhYmxlLXJlc3BvbnNpdmUtbGcgPiAudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlLXhsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuICAudGFibGUtcmVzcG9uc2l2ZS14bCA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtICsgMnB4KTtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzQ5NTA1NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZm9ybS1jb250cm9sIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi5mb3JtLWNvbnRyb2w6Oi1tcy1leHBhbmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4uZm9ybS1jb250cm9sOi1tb3otZm9jdXNyaW5nIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogMCAwIDAgIzQ5NTA1Nztcbn1cblxuLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gIGNvbG9yOiAjNDk1MDU3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICM4MGJkZmY7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTtcbn1cblxuLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmZvcm0tY29udHJvbDpkaXNhYmxlZCwgLmZvcm0tY29udHJvbFtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xuICBvcGFjaXR5OiAxO1xufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sOmZvY3VzOjotbXMtdmFsdWUge1xuICBjb2xvcjogIzQ5NTA1NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoMC4zNzVyZW0gKyAxcHgpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjM3NXJlbSArIDFweCk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoMC41cmVtICsgMXB4KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC41cmVtICsgMXB4KTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjI1cmVtICsgMXB4KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC4yNXJlbSArIDFweCk7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbn1cblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQuZm9ybS1jb250cm9sLXNtLCAuZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wtbGcge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjVyZW0gKyAycHgpO1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMXJlbSArIDJweCk7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbFtzaXplXSwgc2VsZWN0LmZvcm0tY29udHJvbFttdWx0aXBsZV0ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uZm9ybS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XG59XG5cbi5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICBtYXJnaW4tbGVmdDogLTVweDtcbn1cblxuLmZvcm0tcm93ID4gLmNvbCxcbi5mb3JtLXJvdyA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuLmZvcm0tY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAwLjNyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbn1cblxuLmZvcm0tY2hlY2staW5wdXRbZGlzYWJsZWRdIH4gLmZvcm0tY2hlY2stbGFiZWwsXG4uZm9ybS1jaGVjay1pbnB1dDpkaXNhYmxlZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgY29sb3I6ICM2Yzc1N2Q7XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi52YWxpZC1mZWVkYmFjayB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICMyOGE3NDU7XG59XG5cbi52YWxpZC10b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHotaW5kZXg6IDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIG1hcmdpbi10b3A6IC4xcmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MCwgMTY3LCA2OSwgMC45KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLndhcy12YWxpZGF0ZWQgOnZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxuLndhcy12YWxpZGF0ZWQgOnZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsXG4uaXMtdmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXG4uaXMtdmFsaWQgfiAudmFsaWQtdG9vbHRpcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkLCAuZm9ybS1jb250cm9sLmlzLXZhbGlkIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nJTIzMjhhNzQ1JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKSBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKTtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZDpmb2N1cywgLmZvcm0tY29udHJvbC5pcy12YWxpZDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuMjUpO1xufVxuXG4ud2FzLXZhbGlkYXRlZCB0ZXh0YXJlYS5mb3JtLWNvbnRyb2w6dmFsaWQsIHRleHRhcmVhLmZvcm0tY29udHJvbC5pcy12YWxpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSkgcmlnaHQgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKTtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWQsIC5jdXN0b20tc2VsZWN0LmlzLXZhbGlkIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDAuNzVlbSArIDIuMzEyNXJlbSk7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc1JyB2aWV3Qm94PScwIDAgNCA1JyUzZSUzY3BhdGggZmlsbD0nJTIzMzQzYTQwJyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM2UlM2Mvc3ZnJTNlXCIpIG5vLXJlcGVhdCByaWdodCAwLjc1cmVtIGNlbnRlci84cHggMTBweCwgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPSclMjMyOGE3NDUnIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzZSUzYy9zdmclM2VcIikgI2ZmZiBuby1yZXBlYXQgY2VudGVyIHJpZ2h0IDEuNzVyZW0vY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSkgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSk7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OnZhbGlkOmZvY3VzLCAuY3VzdG9tLXNlbGVjdC5pcy12YWxpZDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuMjUpO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZCB+IC5mb3JtLWNoZWNrLWxhYmVsLCAuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgY29sb3I6ICMyOGE3NDU7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWQgfiAudmFsaWQtdG9vbHRpcCwgLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXG4uZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC10b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgY29sb3I6ICMyOGE3NDU7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzM0Y2U1NztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0Y2U1Nztcbn1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZDpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuMjUpO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQ6Zm9jdXM6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQ6Zm9jdXM6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtdmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICBib3JkZXItY29sb3I6ICMyOGE3NDU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAwLjI1KTtcbn1cblxuLmludmFsaWQtZmVlZGJhY2sge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiAjZGMzNTQ1O1xufVxuXG4uaW52YWxpZC10b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHotaW5kZXg6IDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIG1hcmdpbi10b3A6IC4xcmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjAsIDUzLCA2OSwgMC45KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLndhcy12YWxpZGF0ZWQgOmludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjayxcbi53YXMtdmFsaWRhdGVkIDppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCxcbi5pcy1pbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXG4uaXMtaW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQge1xuICBib3JkZXItY29sb3I6ICNkYzM1NDU7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNkYzM1NDUnIHZpZXdCb3g9JzAgMCAxMiAxMiclM2UlM2NjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLyUzZSUzY3BhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8lM2UlM2NjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPSclMjNkYzM1NDUnIHN0cm9rZT0nbm9uZScvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSkgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSk7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZDpmb2N1cywgLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgMC4yNSk7XG59XG5cbi53YXMtdmFsaWRhdGVkIHRleHRhcmVhLmZvcm0tY29udHJvbDppbnZhbGlkLCB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSkgcmlnaHQgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKTtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6aW52YWxpZCwgLmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcbiAgcGFkZGluZy1yaWdodDogY2FsYygwLjc1ZW0gKyAyLjMxMjVyZW0pO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSclM2UlM2NwYXRoIGZpbGw9JyUyMzM0M2E0MCcgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNlJTNjL3N2ZyUzZVwiKSBuby1yZXBlYXQgcmlnaHQgMC43NXJlbSBjZW50ZXIvOHB4IDEwcHgsIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZGMzNTQ1JyB2aWV3Qm94PScwIDAgMTIgMTInJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8lM2UlM2NwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nJTIzZGMzNTQ1JyBzdHJva2U9J25vbmUnLyUzZSUzYy9zdmclM2VcIikgI2ZmZiBuby1yZXBlYXQgY2VudGVyIHJpZ2h0IDEuNzVyZW0vY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSkgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSk7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OmludmFsaWQ6Zm9jdXMsIC5jdXN0b20tc2VsZWN0LmlzLWludmFsaWQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICNkYzM1NDU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjI1KTtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZCB+IC5mb3JtLWNoZWNrLWxhYmVsLCAuZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICBjb2xvcjogI2RjMzU0NTtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAsIC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjayxcbi5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC10b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gIGNvbG9yOiAjZGMzNTQ1O1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2U0NjA2ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0NjA2ZDtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjI1KTtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQ6Zm9jdXM6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZDpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNkYzM1NDU7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NTtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgMC4yNSk7XG59XG5cbi5mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mb3JtLWlubGluZSAuZm9ybS1jaGVjayB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmZvcm0taW5saW5lIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAsXG4gIC5mb3JtLWlubGluZSAuY3VzdG9tLXNlbGVjdCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIC5mb3JtLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5mb3JtLWlubGluZSAuY3VzdG9tLWNvbnRyb2wge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmZvcm0taW5saW5lIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzIxMjUyOTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmJ0biB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuXG4uYnRuOmhvdmVyIHtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmJ0bjpmb2N1cywgLmJ0bi5mb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTtcbn1cblxuLmJ0bi5kaXNhYmxlZCwgLmJ0bjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNjU7XG59XG5cbmEuYnRuLmRpc2FibGVkLFxuZmllbGRzZXQ6ZGlzYWJsZWQgYS5idG4ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmJ0bi1wcmltYXJ5IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG4gIGJvcmRlci1jb2xvcjogIzAwN2JmZjtcbn1cblxuLmJ0bi1wcmltYXJ5OmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDY5ZDk7XG4gIGJvcmRlci1jb2xvcjogIzAwNjJjYztcbn1cblxuLmJ0bi1wcmltYXJ5OmZvY3VzLCAuYnRuLXByaW1hcnkuZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjlkOTtcbiAgYm9yZGVyLWNvbG9yOiAjMDA2MmNjO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgzOCwgMTQzLCAyNTUsIDAuNSk7XG59XG5cbi5idG4tcHJpbWFyeS5kaXNhYmxlZCwgLmJ0bi1wcmltYXJ5OmRpc2FibGVkIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG4gIGJvcmRlci1jb2xvcjogIzAwN2JmZjtcbn1cblxuLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbi5zaG93ID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2MmNjO1xuICBib3JkZXItY29sb3I6ICMwMDVjYmY7XG59XG5cbi5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXG4uc2hvdyA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgzOCwgMTQzLCAyNTUsIDAuNSk7XG59XG5cbi5idG4tc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7XG4gIGJvcmRlci1jb2xvcjogIzZjNzU3ZDtcbn1cblxuLmJ0bi1zZWNvbmRhcnk6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVhNjI2ODtcbiAgYm9yZGVyLWNvbG9yOiAjNTQ1YjYyO1xufVxuXG4uYnRuLXNlY29uZGFyeTpmb2N1cywgLmJ0bi1zZWNvbmRhcnkuZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVhNjI2ODtcbiAgYm9yZGVyLWNvbG9yOiAjNTQ1YjYyO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMzAsIDEzOCwgMTQ1LCAwLjUpO1xufVxuXG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZCwgLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZjNzU3ZDtcbiAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkO1xufVxuXG4uYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbi5zaG93ID4gLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDViNjI7XG4gIGJvcmRlci1jb2xvcjogIzRlNTU1Yjtcbn1cblxuLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXG4uc2hvdyA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDEzMCwgMTM4LCAxNDUsIDAuNSk7XG59XG5cbi5idG4tc3VjY2VzcyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1O1xuICBib3JkZXItY29sb3I6ICMyOGE3NDU7XG59XG5cbi5idG4tc3VjY2Vzczpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4ODM4O1xuICBib3JkZXItY29sb3I6ICMxZTdlMzQ7XG59XG5cbi5idG4tc3VjY2Vzczpmb2N1cywgLmJ0bi1zdWNjZXNzLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTg4Mzg7XG4gIGJvcmRlci1jb2xvcjogIzFlN2UzNDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNzIsIDE4MCwgOTcsIDAuNSk7XG59XG5cbi5idG4tc3VjY2Vzcy5kaXNhYmxlZCwgLmJ0bi1zdWNjZXNzOmRpc2FibGVkIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7XG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcbn1cblxuLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbi5zaG93ID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU3ZTM0O1xuICBib3JkZXItY29sb3I6ICMxYzc0MzA7XG59XG5cbi5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXG4uc2hvdyA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg3MiwgMTgwLCA5NywgMC41KTtcbn1cblxuLmJ0bi1pbmZvIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjg7XG4gIGJvcmRlci1jb2xvcjogIzE3YTJiODtcbn1cblxuLmJ0bi1pbmZvOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMzg0OTY7XG4gIGJvcmRlci1jb2xvcjogIzExN2E4Yjtcbn1cblxuLmJ0bi1pbmZvOmZvY3VzLCAuYnRuLWluZm8uZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzODQ5NjtcbiAgYm9yZGVyLWNvbG9yOiAjMTE3YThiO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1OCwgMTc2LCAxOTUsIDAuNSk7XG59XG5cbi5idG4taW5mby5kaXNhYmxlZCwgLmJ0bi1pbmZvOmRpc2FibGVkIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjg7XG4gIGJvcmRlci1jb2xvcjogIzE3YTJiODtcbn1cblxuLmJ0bi1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbi5zaG93ID4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE3YThiO1xuICBib3JkZXItY29sb3I6ICMxMDcwN2Y7XG59XG5cbi5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXG4uc2hvdyA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1OCwgMTc2LCAxOTUsIDAuNSk7XG59XG5cbi5idG4td2FybmluZyB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3O1xuICBib3JkZXItY29sb3I6ICNmZmMxMDc7XG59XG5cbi5idG4td2FybmluZzpob3ZlciB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBhODAwO1xuICBib3JkZXItY29sb3I6ICNkMzllMDA7XG59XG5cbi5idG4td2FybmluZzpmb2N1cywgLmJ0bi13YXJuaW5nLmZvY3VzIHtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGE4MDA7XG4gIGJvcmRlci1jb2xvcjogI2QzOWUwMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIyLCAxNzAsIDEyLCAwLjUpO1xufVxuXG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQsIC5idG4td2FybmluZzpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3O1xuICBib3JkZXItY29sb3I6ICNmZmMxMDc7XG59XG5cbi5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4uc2hvdyA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QzOWUwMDtcbiAgYm9yZGVyLWNvbG9yOiAjYzY5NTAwO1xufVxuXG4uYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxuLnNob3cgPiAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIyLCAxNzAsIDEyLCAwLjUpO1xufVxuXG4uYnRuLWRhbmdlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNTQ1O1xuICBib3JkZXItY29sb3I6ICNkYzM1NDU7XG59XG5cbi5idG4tZGFuZ2VyOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjODIzMzM7XG4gIGJvcmRlci1jb2xvcjogI2JkMjEzMDtcbn1cblxuLmJ0bi1kYW5nZXI6Zm9jdXMsIC5idG4tZGFuZ2VyLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjODIzMzM7XG4gIGJvcmRlci1jb2xvcjogI2JkMjEzMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjI1LCA4MywgOTcsIDAuNSk7XG59XG5cbi5idG4tZGFuZ2VyLmRpc2FibGVkLCAuYnRuLWRhbmdlcjpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNTQ1O1xuICBib3JkZXItY29sb3I6ICNkYzM1NDU7XG59XG5cbi5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuLnNob3cgPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JkMjEzMDtcbiAgYm9yZGVyLWNvbG9yOiAjYjIxZjJkO1xufVxuXG4uYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyxcbi5zaG93ID4gLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjI1LCA4MywgOTcsIDAuNSk7XG59XG5cbi5idG4tbGlnaHQge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhO1xufVxuXG4uYnRuLWxpZ2h0OmhvdmVyIHtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMmU2ZWE7XG4gIGJvcmRlci1jb2xvcjogI2RhZTBlNTtcbn1cblxuLmJ0bi1saWdodDpmb2N1cywgLmJ0bi1saWdodC5mb2N1cyB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlNmVhO1xuICBib3JkZXItY29sb3I6ICNkYWUwZTU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIxNiwgMjE3LCAyMTksIDAuNSk7XG59XG5cbi5idG4tbGlnaHQuZGlzYWJsZWQsIC5idG4tbGlnaHQ6ZGlzYWJsZWQge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhO1xufVxuXG4uYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4uc2hvdyA+IC5idG4tbGlnaHQuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWUwZTU7XG4gIGJvcmRlci1jb2xvcjogI2QzZDlkZjtcbn1cblxuLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxuLnNob3cgPiAuYnRuLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIxNiwgMjE3LCAyMTksIDAuNSk7XG59XG5cbi5idG4tZGFyayB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xuICBib3JkZXItY29sb3I6ICMzNDNhNDA7XG59XG5cbi5idG4tZGFyazpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyNzJiO1xuICBib3JkZXItY29sb3I6ICMxZDIxMjQ7XG59XG5cbi5idG4tZGFyazpmb2N1cywgLmJ0bi1kYXJrLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMzI3MmI7XG4gIGJvcmRlci1jb2xvcjogIzFkMjEyNDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoODIsIDg4LCA5MywgMC41KTtcbn1cblxuLmJ0bi1kYXJrLmRpc2FibGVkLCAuYnRuLWRhcms6ZGlzYWJsZWQge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDtcbiAgYm9yZGVyLWNvbG9yOiAjMzQzYTQwO1xufVxuXG4uYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuLnNob3cgPiAuYnRuLWRhcmsuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZDIxMjQ7XG4gIGJvcmRlci1jb2xvcjogIzE3MWExZDtcbn1cblxuLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyxcbi5zaG93ID4gLmJ0bi1kYXJrLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDgyLCA4OCwgOTMsIDAuNSk7XG59XG5cbi5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgY29sb3I6ICMwMDdiZmY7XG4gIGJvcmRlci1jb2xvcjogIzAwN2JmZjtcbn1cblxuLmJ0bi1vdXRsaW5lLXByaW1hcnk6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbiAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmO1xufVxuXG4uYnRuLW91dGxpbmUtcHJpbWFyeTpmb2N1cywgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC41KTtcbn1cblxuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkIHtcbiAgY29sb3I6ICMwMDdiZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYnRuLW91dGxpbmUtcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbi5zaG93ID4gLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG4gIGJvcmRlci1jb2xvcjogIzAwN2JmZjtcbn1cblxuLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXG4uc2hvdyA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpO1xufVxuXG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICM2Yzc1N2Q7XG4gIGJvcmRlci1jb2xvcjogIzZjNzU3ZDtcbn1cblxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkO1xuICBib3JkZXItY29sb3I6ICM2Yzc1N2Q7XG59XG5cbi5idG4tb3V0bGluZS1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMDgsIDExNywgMTI1LCAwLjUpO1xufVxuXG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkIHtcbiAgY29sb3I6ICM2Yzc1N2Q7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4uc2hvdyA+IC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7XG4gIGJvcmRlci1jb2xvcjogIzZjNzU3ZDtcbn1cblxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxuLnNob3cgPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDEwOCwgMTE3LCAxMjUsIDAuNSk7XG59XG5cbi5idG4tb3V0bGluZS1zdWNjZXNzIHtcbiAgY29sb3I6ICMyOGE3NDU7XG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcbn1cblxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTtcbiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1O1xufVxuXG4uYnRuLW91dGxpbmUtc3VjY2Vzczpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC41KTtcbn1cblxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1zdWNjZXNzOmRpc2FibGVkIHtcbiAgY29sb3I6ICMyOGE3NDU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbi5zaG93ID4gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7XG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcbn1cblxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXG4uc2hvdyA+IC5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAwLjUpO1xufVxuXG4uYnRuLW91dGxpbmUtaW5mbyB7XG4gIGNvbG9yOiAjMTdhMmI4O1xuICBib3JkZXItY29sb3I6ICMxN2EyYjg7XG59XG5cbi5idG4tb3V0bGluZS1pbmZvOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjg7XG4gIGJvcmRlci1jb2xvcjogIzE3YTJiODtcbn1cblxuLmJ0bi1vdXRsaW5lLWluZm86Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvLmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjMsIDE2MiwgMTg0LCAwLjUpO1xufVxuXG4uYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQge1xuICBjb2xvcjogIzE3YTJiODtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuLnNob3cgPiAuYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3YTJiODtcbiAgYm9yZGVyLWNvbG9yOiAjMTdhMmI4O1xufVxuXG4uYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyxcbi5zaG93ID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjMsIDE2MiwgMTg0LCAwLjUpO1xufVxuXG4uYnRuLW91dGxpbmUtd2FybmluZyB7XG4gIGNvbG9yOiAjZmZjMTA3O1xuICBib3JkZXItY29sb3I6ICNmZmMxMDc7XG59XG5cbi5idG4tb3V0bGluZS13YXJuaW5nOmhvdmVyIHtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmMxMDc7XG4gIGJvcmRlci1jb2xvcjogI2ZmYzEwNztcbn1cblxuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6Zm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAxOTMsIDcsIDAuNSk7XG59XG5cbi5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtd2FybmluZzpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZmZjMTA3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4uc2hvdyA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3O1xuICBib3JkZXItY29sb3I6ICNmZmMxMDc7XG59XG5cbi5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxuLnNob3cgPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNTUsIDE5MywgNywgMC41KTtcbn1cblxuLmJ0bi1vdXRsaW5lLWRhbmdlciB7XG4gIGNvbG9yOiAjZGMzNTQ1O1xuICBib3JkZXItY29sb3I6ICNkYzM1NDU7XG59XG5cbi5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NTtcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xufVxuXG4uYnRuLW91dGxpbmUtZGFuZ2VyOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuNSk7XG59XG5cbi5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1kYW5nZXI6ZGlzYWJsZWQge1xuICBjb2xvcjogI2RjMzU0NTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbi5zaG93ID4gLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NTtcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xufVxuXG4uYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsXG4uc2hvdyA+IC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuNSk7XG59XG5cbi5idG4tb3V0bGluZS1saWdodCB7XG4gIGNvbG9yOiAjZjhmOWZhO1xuICBib3JkZXItY29sb3I6ICNmOGY5ZmE7XG59XG5cbi5idG4tb3V0bGluZS1saWdodDpob3ZlciB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICBib3JkZXItY29sb3I6ICNmOGY5ZmE7XG59XG5cbi5idG4tb3V0bGluZS1saWdodDpmb2N1cywgLmJ0bi1vdXRsaW5lLWxpZ2h0LmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjQ4LCAyNDksIDI1MCwgMC41KTtcbn1cblxuLmJ0bi1vdXRsaW5lLWxpZ2h0LmRpc2FibGVkLCAuYnRuLW91dGxpbmUtbGlnaHQ6ZGlzYWJsZWQge1xuICBjb2xvcjogI2Y4ZjlmYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4uc2hvdyA+IC5idG4tb3V0bGluZS1saWdodC5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhO1xufVxuXG4uYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxuLnNob3cgPiAuYnRuLW91dGxpbmUtbGlnaHQuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjQ4LCAyNDksIDI1MCwgMC41KTtcbn1cblxuLmJ0bi1vdXRsaW5lLWRhcmsge1xuICBjb2xvcjogIzM0M2E0MDtcbiAgYm9yZGVyLWNvbG9yOiAjMzQzYTQwO1xufVxuXG4uYnRuLW91dGxpbmUtZGFyazpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xuICBib3JkZXItY29sb3I6ICMzNDNhNDA7XG59XG5cbi5idG4tb3V0bGluZS1kYXJrOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFyay5mb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUyLCA1OCwgNjQsIDAuNSk7XG59XG5cbi5idG4tb3V0bGluZS1kYXJrLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtZGFyazpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjMzQzYTQwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4uc2hvdyA+IC5idG4tb3V0bGluZS1kYXJrLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xuICBib3JkZXItY29sb3I6ICMzNDNhNDA7XG59XG5cbi5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLFxuLnNob3cgPiAuYnRuLW91dGxpbmUtZGFyay5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgNTgsIDY0LCAwLjUpO1xufVxuXG4uYnRuLWxpbmsge1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwN2JmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnRuLWxpbms6aG92ZXIge1xuICBjb2xvcjogIzAwNTZiMztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5idG4tbGluazpmb2N1cywgLmJ0bi1saW5rLmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5idG4tbGluazpkaXNhYmxlZCwgLmJ0bi1saW5rLmRpc2FibGVkIHtcbiAgY29sb3I6ICM2Yzc1N2Q7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uYnRuLWxnLCAuYnRuLWdyb3VwLWxnID4gLmJ0biB7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcbn1cblxuLmJ0bi1zbSwgLmJ0bi1ncm91cC1zbSA+IC5idG4ge1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xufVxuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idG4tYmxvY2ssXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0uYnRuLWJsb2NrLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5idG4tYmxvY2sge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmZhZGUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmZhZGUge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cblxuLmZhZGU6bm90KC5zaG93KSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5jb2xsYXBzZTpub3QoLnNob3cpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMzVzIGVhc2U7XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jb2xsYXBzaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi5kcm9wdXAsXG4uZHJvcHJpZ2h0LFxuLmRyb3Bkb3duLFxuLmRyb3BsZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXRvcDogMC4zZW0gc29saWQ7XG4gIGJvcmRlci1yaWdodDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6IDAuNXJlbSAwO1xuICBtYXJnaW46IDAuMTI1cmVtIDAgMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzIxMjUyOTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLmRyb3Bkb3duLW1lbnUtbGVmdCB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xufVxuXG4uZHJvcGRvd24tbWVudS1yaWdodCB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmRyb3Bkb3duLW1lbnUtc20tbGVmdCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24tbWVudS1zbS1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmRyb3Bkb3duLW1lbnUtbWQtbGVmdCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24tbWVudS1tZC1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmRyb3Bkb3duLW1lbnUtbGctbGVmdCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24tbWVudS1sZy1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5kcm9wZG93bi1tZW51LXhsLWxlZnQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUteGwtcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cblxuLmRyb3B1cCAuZHJvcGRvd24tbWVudSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjEyNXJlbTtcbn1cblxuLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuMjU1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwLjNlbSBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5kcm9wcmlnaHQgLmRyb3Bkb3duLW1lbnUge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMC4xMjVyZW07XG59XG5cbi5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXRvcDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAwLjNlbSBzb2xpZDtcbn1cblxuLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgdmVydGljYWwtYWxpZ246IDA7XG59XG5cbi5kcm9wbGVmdCAuZHJvcGRvd24tbWVudSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1yaWdodDogMC4xMjVyZW07XG59XG5cbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuMjU1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjU1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItdG9wOiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwLjNlbSBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3JlIHtcbiAgdmVydGljYWwtYWxpZ246IDA7XG59XG5cbi5kcm9wZG93bi1tZW51W3gtcGxhY2VtZW50Xj1cInRvcFwiXSwgLmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0sIC5kcm9wZG93bi1tZW51W3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSwgLmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG59XG5cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDAuNXJlbSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U5ZWNlZjtcbn1cblxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMS41cmVtO1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi5kcm9wZG93bi1pdGVtOmhvdmVyLCAuZHJvcGRvd24taXRlbTpmb2N1cyB7XG4gIGNvbG9yOiAjMTYxODFiO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG59XG5cbi5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW06YWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbn1cblxuLmRyb3Bkb3duLWl0ZW0uZGlzYWJsZWQsIC5kcm9wZG93bi1pdGVtOmRpc2FibGVkIHtcbiAgY29sb3I6ICM2Yzc1N2Q7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjNmM3NTdkO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMS41cmVtO1xuICBjb2xvcjogIzIxMjUyOTtcbn1cblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uYnRuLWdyb3VwID4gLmJ0bixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxIDEgYXV0bztcbn1cblxuLmJ0bi1ncm91cCA+IC5idG46aG92ZXIsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpob3ZlciB7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5idG4tZ3JvdXAgPiAuYnRuOmZvY3VzLCAuYnRuLWdyb3VwID4gLmJ0bjphY3RpdmUsIC5idG4tZ3JvdXAgPiAuYnRuLmFjdGl2ZSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmZvY3VzLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46YWN0aXZlLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4uYWN0aXZlIHtcbiAgei1pbmRleDogMTtcbn1cblxuLmJ0bi10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5idG4tdG9vbGJhciAuaW5wdXQtZ3JvdXAge1xuICB3aWR0aDogYXV0bztcbn1cblxuLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjU2MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41NjI1cmVtO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlcixcbi5kcm9wdXAgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDo6YWZ0ZXIsXG4uZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjpiZWZvcmUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LCAuYnRuLWdyb3VwLXNtID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjM3NXJlbTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsIC5idG4tZ3JvdXAtbGcgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbn1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4sXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbn1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4sXG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJ0bi1ncm91cC10b2dnbGUgPiAuYnRuIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5idG4tZ3JvdXAtdG9nZ2xlID4gLmJ0biBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4tZ3JvdXAgPiAuYnRuIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5idG4tZ3JvdXAtdG9nZ2xlID4gLmJ0bi1ncm91cCA+IC5idG4gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDEgMSAwJTtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wgKyAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wgKyAuY3VzdG9tLWZpbGUsXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCArIC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCArIC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQgKyAuY3VzdG9tLWZpbGUsXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCArIC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCArIC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3QgKyAuY3VzdG9tLWZpbGUsXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUgKyAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlICsgLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUgKyAuY3VzdG9tLWZpbGUge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cblxuLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0OmZvY3VzLFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIHotaW5kZXg6IDM7XG59XG5cbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMge1xuICB6LWluZGV4OiA0O1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3Q6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGU6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0bixcbi5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0bjpmb2N1cyxcbi5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0bjpmb2N1cyB7XG4gIHotaW5kZXg6IDM7XG59XG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4gKyAuYnRuLFxuLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXByZXBlbmQgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1wcmVwZW5kIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0bixcbi5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0biArIC5idG4sXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1hcHBlbmQgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1hcHBlbmQgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xufVxuXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzQ5NTA1NztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2VkNGRhO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuXG4uaW5wdXQtZ3JvdXAtdGV4dCBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4uaW5wdXQtZ3JvdXAtdGV4dCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogY2FsYygxLjVlbSArIDFyZW0gKyAycHgpO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBib3JkZXItcmFkaXVzOiAwLjNyZW07XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMC41cmVtICsgMnB4KTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNzVyZW07XG59XG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG5cbi5jdXN0b20tY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG59XG5cbi5jdXN0b20tY29udHJvbC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogIzAwN2JmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7XG59XG5cbi5jdXN0b20tY29udHJvbC1pbnB1dDpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM4MGJkZmY7XG59XG5cbi5jdXN0b20tY29udHJvbC1pbnB1dDpub3QoOmRpc2FibGVkKTphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkN2ZmO1xuICBib3JkZXItY29sb3I6ICNiM2Q3ZmY7XG59XG5cbi5jdXN0b20tY29udHJvbC1pbnB1dFtkaXNhYmxlZF0gfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwsIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gIGNvbG9yOiAjNmM3NTdkO1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXRbZGlzYWJsZWRdIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbn1cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjI1cmVtO1xuICBsZWZ0OiAtMS41cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogI2FkYjViZCBzb2xpZCAxcHg7XG59XG5cbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC4yNXJlbTtcbiAgbGVmdDogLTEuNXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCA1MCUgLyA1MCUgNTAlO1xufVxuXG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2bDIuOTc0IDIuOTlMOCAyLjE5M3onLyUzZSUzYy9zdmclM2VcIik7XG59XG5cbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzAwN2JmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbn1cblxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNCcgdmlld0JveD0nMCAwIDQgNCclM2UlM2NwYXRoIHN0cm9rZT0nJTIzZmZmJyBkPSdNMCAyaDQnLyUzZSUzYy9zdmclM2VcIik7XG59XG5cbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTIzLCAyNTUsIDAuNSk7XG59XG5cbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTIzLCAyNTUsIDAuNSk7XG59XG5cbi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nLTQgLTQgOCA4JyUzZSUzY2NpcmNsZSByPSczJyBmaWxsPSclMjNmZmYnLyUzZSUzYy9zdmclM2VcIik7XG59XG5cbi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTIzLCAyNTUsIDAuNSk7XG59XG5cbi5jdXN0b20tc3dpdGNoIHtcbiAgcGFkZGluZy1sZWZ0OiAyLjI1cmVtO1xufVxuXG4uY3VzdG9tLXN3aXRjaCAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGxlZnQ6IC0yLjI1cmVtO1xuICB3aWR0aDogMS43NXJlbTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xufVxuXG4uY3VzdG9tLXN3aXRjaCAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcbiAgdG9wOiBjYWxjKDAuMjVyZW0gKyAycHgpO1xuICBsZWZ0OiBjYWxjKC0yLjI1cmVtICsgMnB4KTtcbiAgd2lkdGg6IGNhbGMoMXJlbSAtIDRweCk7XG4gIGhlaWdodDogY2FsYygxcmVtIC0gNHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FkYjViZDtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmN1c3RvbS1zd2l0Y2ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuXG4uY3VzdG9tLXN3aXRjaCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC43NXJlbSk7XG59XG5cbi5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEyMywgMjU1LCAwLjUpO1xufVxuXG4uY3VzdG9tLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyAycHgpO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAxLjc1cmVtIDAuMzc1cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM0OTUwNTc7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA0IDUnJTNlJTNjcGF0aCBmaWxsPSclMjMzNDNhNDAnIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzZSUzYy9zdmclM2VcIikgbm8tcmVwZWF0IHJpZ2h0IDAuNzVyZW0gY2VudGVyLzhweCAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2VkNGRhO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4uY3VzdG9tLXNlbGVjdDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzgwYmRmZjtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xufVxuXG4uY3VzdG9tLXNlbGVjdDpmb2N1czo6LW1zLXZhbHVlIHtcbiAgY29sb3I6ICM0OTUwNTc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5jdXN0b20tc2VsZWN0W211bHRpcGxlXSwgLmN1c3RvbS1zZWxlY3Rbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi5jdXN0b20tc2VsZWN0OmRpc2FibGVkIHtcbiAgY29sb3I6ICM2Yzc1N2Q7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG59XG5cbi5jdXN0b20tc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmN1c3RvbS1zZWxlY3Q6LW1vei1mb2N1c3Jpbmcge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiAwIDAgMCAjNDk1MDU3O1xufVxuXG4uY3VzdG9tLXNlbGVjdC1zbSB7XG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIDJweCk7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi5jdXN0b20tc2VsZWN0LWxnIHtcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMXJlbSArIDJweCk7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuXG4uY3VzdG9tLWZpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyAycHgpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY3VzdG9tLWZpbGUtaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtICsgMnB4KTtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICBib3JkZXItY29sb3I6ICM4MGJkZmY7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTtcbn1cblxuLmN1c3RvbS1maWxlLWlucHV0W2Rpc2FibGVkXSB+IC5jdXN0b20tZmlsZS1sYWJlbCxcbi5jdXN0b20tZmlsZS1pbnB1dDpkaXNhYmxlZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dDpsYW5nKGVuKSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIkJyb3dzZVwiO1xufVxuXG4uY3VzdG9tLWZpbGUtaW5wdXQgfiAuY3VzdG9tLWZpbGUtbGFiZWxbZGF0YS1icm93c2VdOjphZnRlciB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1icm93c2UpO1xufVxuXG4uY3VzdG9tLWZpbGUtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyAycHgpO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzQ5NTA1NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSk7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNDk1MDU3O1xuICBjb250ZW50OiBcIkJyb3dzZVwiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xuICBib3JkZXItbGVmdDogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI1cmVtIDAuMjVyZW0gMDtcbn1cblxuLmN1c3RvbS1yYW5nZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5jdXN0b20tcmFuZ2U6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uY3VzdG9tLXJhbmdlOmZvY3VzOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7XG59XG5cbi5jdXN0b20tcmFuZ2U6Zm9jdXM6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xufVxuXG4uY3VzdG9tLXJhbmdlOmZvY3VzOjotbXMtdGh1bWIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xufVxuXG4uY3VzdG9tLXJhbmdlOjotbW96LWZvY3VzLW91dGVyIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4uY3VzdG9tLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi10b3A6IC0wLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmN1c3RvbS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cblxuLmN1c3RvbS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWI6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzZDdmZjtcbn1cblxuLmN1c3RvbS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMmU2O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xufVxuXG4uY3VzdG9tLXJhbmdlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cblxuLmN1c3RvbS1yYW5nZTo6LW1vei1yYW5nZS10aHVtYjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkN2ZmO1xufVxuXG4uY3VzdG9tLXJhbmdlOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RlZTJlNjtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbn1cblxuLmN1c3RvbS1yYW5nZTo6LW1zLXRodW1iIHtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjJyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuY3VzdG9tLXJhbmdlOjotbXMtdGh1bWIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cblxuLmN1c3RvbS1yYW5nZTo6LW1zLXRodW1iOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2Q3ZmY7XG59XG5cbi5jdXN0b20tcmFuZ2U6Oi1tcy10cmFjayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDAuNXJlbTtcbn1cblxuLmN1c3RvbS1yYW5nZTo6LW1zLWZpbGwtbG93ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMmU2O1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xufVxuXG4uY3VzdG9tLXJhbmdlOjotbXMtZmlsbC11cHBlciB7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RlZTJlNjtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbn1cblxuLmN1c3RvbS1yYW5nZTpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWRiNWJkO1xufVxuXG4uY3VzdG9tLXJhbmdlOmRpc2FibGVkOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLmN1c3RvbS1yYW5nZTpkaXNhYmxlZDo6LW1vei1yYW5nZS10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhZGI1YmQ7XG59XG5cbi5jdXN0b20tcmFuZ2U6ZGlzYWJsZWQ6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5jdXN0b20tcmFuZ2U6ZGlzYWJsZWQ6Oi1tcy10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhZGI1YmQ7XG59XG5cbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuLmN1c3RvbS1maWxlLWxhYmVsLFxuLmN1c3RvbS1zZWxlY3Qge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuICAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi5uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xufVxuXG4ubmF2LWxpbms6aG92ZXIsIC5uYXYtbGluazpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgY29sb3I6ICM2Yzc1N2Q7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlMmU2O1xufVxuXG4ubmF2LXRhYnMgLm5hdi1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcbn1cblxuLm5hdi10YWJzIC5uYXYtbGluayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbn1cblxuLm5hdi10YWJzIC5uYXYtbGluazpob3ZlciwgLm5hdi10YWJzIC5uYXYtbGluazpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2U5ZWNlZiAjZTllY2VmICNkZWUyZTY7XG59XG5cbi5uYXYtdGFicyAubmF2LWxpbmsuZGlzYWJsZWQge1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlLFxuLm5hdi10YWJzIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjNDk1MDU3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICNkZWUyZTYgI2RlZTJlNiAjZmZmO1xufVxuXG4ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLm5hdi1waWxscyAubmF2LWxpbmsge1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuXG4ubmF2LXBpbGxzIC5uYXYtbGluay5hY3RpdmUsXG4ubmF2LXBpbGxzIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG59XG5cbi5uYXYtZmlsbCAubmF2LWl0ZW0ge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubmF2LWp1c3RpZmllZCAubmF2LWl0ZW0ge1xuICBmbGV4LWJhc2lzOiAwO1xuICBmbGV4LWdyb3c6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRhYi1jb250ZW50ID4gLmFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG59XG5cbi5uYXZiYXIgLmNvbnRhaW5lcixcbi5uYXZiYXIgLmNvbnRhaW5lci1mbHVpZCwgLm5hdmJhciAuY29udGFpbmVyLXNtLCAubmF2YmFyIC5jb250YWluZXItbWQsIC5uYXZiYXIgLmNvbnRhaW5lci1sZywgLm5hdmJhciAuY29udGFpbmVyLXhsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5uYXZiYXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAwLjMxMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci1icmFuZDpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm5hdmJhci1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmbG9hdDogbm9uZTtcbn1cblxuLm5hdmJhci10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xufVxuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubmF2YmFyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLm5hdmJhci10b2dnbGVyOmhvdmVyLCAubmF2YmFyLXRvZ2dsZXI6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lcixcbiAgLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLWZsdWlkLCAubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXItc20sIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lci1tZCwgLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLWxnLCAubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXIteGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubmF2YmFyLWV4cGFuZC1zbSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lcixcbiAgLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLWZsdWlkLCAubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXItc20sIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lci1tZCwgLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLWxnLCAubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXIteGwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLFxuICAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXItZmx1aWQsIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci1zbSwgLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLW1kLCAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXItbGcsIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci14bCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLW1kIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLFxuICAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXItZmx1aWQsIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci1zbSwgLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLW1kLCAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXItbGcsIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci14bCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci10b2dnbGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXIsXG4gIC5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lci1mbHVpZCwgLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLXNtLCAubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXItbWQsIC5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lci1sZywgLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLXhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm5hdmJhci1leHBhbmQtbGcge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXIsXG4gIC5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lci1mbHVpZCwgLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLXNtLCAubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXItbWQsIC5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lci1sZywgLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLXhsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXIsXG4gIC5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci1mbHVpZCwgLm5hdmJhci1leHBhbmQteGwgPiAuY29udGFpbmVyLXNtLCAubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItbWQsIC5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci1sZywgLm5hdmJhci1leHBhbmQteGwgPiAuY29udGFpbmVyLXhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLXhsIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgPiAuY29udGFpbmVyLFxuICAubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItZmx1aWQsIC5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci1zbSwgLm5hdmJhci1leHBhbmQteGwgPiAuY29udGFpbmVyLW1kLCAubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItbGcsIC5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci14bCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci10b2dnbGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5uYXZiYXItZXhwYW5kIHtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lcixcbi5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lci1mbHVpZCwgLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLXNtLCAubmF2YmFyLWV4cGFuZCA+IC5jb250YWluZXItbWQsIC5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lci1sZywgLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLXhsIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xufVxuXG4ubmF2YmFyLWV4cGFuZCA+IC5jb250YWluZXIsXG4ubmF2YmFyLWV4cGFuZCA+IC5jb250YWluZXItZmx1aWQsIC5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lci1zbSwgLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLW1kLCAubmF2YmFyLWV4cGFuZCA+IC5jb250YWluZXItbGcsIC5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lci14bCB7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4ubmF2YmFyLWV4cGFuZCAubmF2YmFyLWNvbGxhcHNlIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBmbGV4LWJhc2lzOiBhdXRvO1xufVxuXG4ubmF2YmFyLWV4cGFuZCAubmF2YmFyLXRvZ2dsZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xufVxuXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQ6aG92ZXIsIC5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZDpmb2N1cyB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG59XG5cbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6aG92ZXIsIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbn1cblxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuZGlzYWJsZWQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5zaG93ID4gLm5hdi1saW5rLFxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAuYWN0aXZlID4gLm5hdi1saW5rLFxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuc2hvdyxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG59XG5cbi5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnJTNlJTNjcGF0aCBzdHJva2U9J3JnYmEoMCwgMCwgMCwgMC41KScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2VcIik7XG59XG5cbi5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG59XG5cbi5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGE6aG92ZXIsIC5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGE6Zm9jdXMge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xufVxuXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1icmFuZCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQ6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbms6aG92ZXIsIC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbms6Zm9jdXMge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbn1cblxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5kaXNhYmxlZCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xufVxuXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLnNob3cgPiAubmF2LWxpbmssXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLmFjdGl2ZSA+IC5uYXYtbGluayxcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuc2hvdyxcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5uYXZiYXItZGFyayAubmF2YmFyLXRvZ2dsZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cblxuLm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJyUzZSUzY3BhdGggc3Ryb2tlPSdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSknIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuXG4ubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5uYXZiYXItZGFyayAubmF2YmFyLXRleHQgYTpob3ZlciwgLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLmNhcmQgPiBociB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5jYXJkID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xufVxuXG4uY2FyZCA+IC5saXN0LWdyb3VwOmxhc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5jYXJkLWJvZHkge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAxLjI1cmVtO1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLTAuMzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uY2FyZC1saW5rICsgLmNhcmQtbGluayB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbn1cblxuLmNhcmQtaGVhZGVyOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KSBjYWxjKDAuMjVyZW0gLSAxcHgpIDAgMDtcbn1cblxuLmNhcmQtaGVhZGVyICsgLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IDA7XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xufVxuXG4uY2FyZC1mb290ZXI6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCBjYWxjKDAuMjVyZW0gLSAxcHgpIGNhbGMoMC4yNXJlbSAtIDFweCk7XG59XG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjc1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbn1cblxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpO1xufVxuXG4uY2FyZC1kZWNrIC5jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jYXJkLWRlY2sge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgfVxuICAuY2FyZC1kZWNrIC5jYXJkIHtcbiAgICBmbGV4OiAxIDAgMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIH1cbn1cblxuLmNhcmQtZ3JvdXAgPiAuY2FyZCB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuY2FyZC1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB9XG4gIC5jYXJkLWdyb3VwID4gLmNhcmQge1xuICAgIGZsZXg6IDEgMCAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5jYXJkLWdyb3VwID4gLmNhcmQgKyAuY2FyZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtaW1nLXRvcCxcbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIC5jYXJkLWhlYWRlciB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIC5jYXJkLWltZy1ib3R0b20sXG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWltZy10b3AsXG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCkgLmNhcmQtaGVhZGVyIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCkgLmNhcmQtaW1nLWJvdHRvbSxcbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKSAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLmNhcmQtY29sdW1ucyAuY2FyZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuY2FyZC1jb2x1bW5zIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgY29sdW1uLWdhcDogMS4yNXJlbTtcbiAgICBvcnBoYW5zOiAxO1xuICAgIHdpZG93czogMTtcbiAgfVxuICAuY2FyZC1jb2x1bW5zIC5jYXJkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmFjY29yZGlvbiA+IC5jYXJkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmFjY29yZGlvbiA+IC5jYXJkOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuXG4uYWNjb3JkaW9uID4gLmNhcmQ6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4uYWNjb3JkaW9uID4gLmNhcmQgPiAuY2FyZC1oZWFkZXIge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xufVxuXG4uYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbTo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIGNvbG9yOiAjNmM3NTdkO1xuICBjb250ZW50OiBcIi9cIjtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZSB7XG4gIGNvbG9yOiAjNmM3NTdkO1xufVxuXG4ucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGNvbG9yOiAjMDA3YmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2O1xufVxuXG4ucGFnZS1saW5rOmhvdmVyIHtcbiAgei1pbmRleDogMjtcbiAgY29sb3I6ICMwMDU2YjM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2O1xufVxuXG4ucGFnZS1saW5rOmZvY3VzIHtcbiAgei1pbmRleDogMztcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xufVxuXG4ucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbn1cblxuLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsge1xuICB6LWluZGV4OiAzO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbiAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmO1xufVxuXG4ucGFnZS1pdGVtLmRpc2FibGVkIC5wYWdlLWxpbmsge1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2O1xufVxuXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rIHtcbiAgcGFkZGluZzogMC43NXJlbSAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4zcmVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjNyZW07XG59XG5cbi5wYWdpbmF0aW9uLWxnIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuM3JlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuM3JlbTtcbn1cblxuLnBhZ2luYXRpb24tc20gLnBhZ2UtbGluayB7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4ucGFnaW5hdGlvbi1zbSAucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjJyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMnJlbTtcbn1cblxuLnBhZ2luYXRpb24tc20gLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4ycmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4ycmVtO1xufVxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMjVlbSAwLjRlbTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmJhZGdlIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbmEuYmFkZ2U6aG92ZXIsIGEuYmFkZ2U6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5iYWRnZTplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi5iYWRnZS1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogMC42ZW07XG4gIHBhZGRpbmctbGVmdDogMC42ZW07XG4gIGJvcmRlci1yYWRpdXM6IDEwcmVtO1xufVxuXG4uYmFkZ2UtcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xufVxuXG5hLmJhZGdlLXByaW1hcnk6aG92ZXIsIGEuYmFkZ2UtcHJpbWFyeTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2MmNjO1xufVxuXG5hLmJhZGdlLXByaW1hcnk6Zm9jdXMsIGEuYmFkZ2UtcHJpbWFyeS5mb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpO1xufVxuXG4uYmFkZ2Utc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7XG59XG5cbmEuYmFkZ2Utc2Vjb25kYXJ5OmhvdmVyLCBhLmJhZGdlLXNlY29uZGFyeTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1YjYyO1xufVxuXG5hLmJhZGdlLXNlY29uZGFyeTpmb2N1cywgYS5iYWRnZS1zZWNvbmRhcnkuZm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMDgsIDExNywgMTI1LCAwLjUpO1xufVxuXG4uYmFkZ2Utc3VjY2VzcyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1O1xufVxuXG5hLmJhZGdlLXN1Y2Nlc3M6aG92ZXIsIGEuYmFkZ2Utc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU3ZTM0O1xufVxuXG5hLmJhZGdlLXN1Y2Nlc3M6Zm9jdXMsIGEuYmFkZ2Utc3VjY2Vzcy5mb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAwLjUpO1xufVxuXG4uYmFkZ2UtaW5mbyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4O1xufVxuXG5hLmJhZGdlLWluZm86aG92ZXIsIGEuYmFkZ2UtaW5mbzpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE3YThiO1xufVxuXG5hLmJhZGdlLWluZm86Zm9jdXMsIGEuYmFkZ2UtaW5mby5mb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIzLCAxNjIsIDE4NCwgMC41KTtcbn1cblxuLmJhZGdlLXdhcm5pbmcge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNztcbn1cblxuYS5iYWRnZS13YXJuaW5nOmhvdmVyLCBhLmJhZGdlLXdhcm5pbmc6Zm9jdXMge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QzOWUwMDtcbn1cblxuYS5iYWRnZS13YXJuaW5nOmZvY3VzLCBhLmJhZGdlLXdhcm5pbmcuZm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNTUsIDE5MywgNywgMC41KTtcbn1cblxuLmJhZGdlLWRhbmdlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNTQ1O1xufVxuXG5hLmJhZGdlLWRhbmdlcjpob3ZlciwgYS5iYWRnZS1kYW5nZXI6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JkMjEzMDtcbn1cblxuYS5iYWRnZS1kYW5nZXI6Zm9jdXMsIGEuYmFkZ2UtZGFuZ2VyLmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuNSk7XG59XG5cbi5iYWRnZS1saWdodCB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xufVxuXG5hLmJhZGdlLWxpZ2h0OmhvdmVyLCBhLmJhZGdlLWxpZ2h0OmZvY3VzIHtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWUwZTU7XG59XG5cbmEuYmFkZ2UtbGlnaHQ6Zm9jdXMsIGEuYmFkZ2UtbGlnaHQuZm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDgsIDI0OSwgMjUwLCAwLjUpO1xufVxuXG4uYmFkZ2UtZGFyayB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xufVxuXG5hLmJhZGdlLWRhcms6aG92ZXIsIGEuYmFkZ2UtZGFyazpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQyMTI0O1xufVxuXG5hLmJhZGdlLWRhcms6Zm9jdXMsIGEuYmFkZ2UtZGFyay5mb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUyLCA1OCwgNjQsIDAuNSk7XG59XG5cbi5qdW1ib3Ryb24ge1xuICBwYWRkaW5nOiAycmVtIDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5qdW1ib3Ryb24ge1xuICAgIHBhZGRpbmc6IDRyZW0gMnJlbTtcbiAgfVxufVxuXG4uanVtYm90cm9uLWZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5hbGVydC1oZWFkaW5nIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogNHJlbTtcbn1cblxuLmFsZXJ0LWRpc21pc3NpYmxlIC5jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLmFsZXJ0LXByaW1hcnkge1xuICBjb2xvcjogIzAwNDA4NTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjZTVmZjtcbiAgYm9yZGVyLWNvbG9yOiAjYjhkYWZmO1xufVxuXG4uYWxlcnQtcHJpbWFyeSBociB7XG4gIGJvcmRlci10b3AtY29sb3I6ICM5ZmNkZmY7XG59XG5cbi5hbGVydC1wcmltYXJ5IC5hbGVydC1saW5rIHtcbiAgY29sb3I6ICMwMDI3NTI7XG59XG5cbi5hbGVydC1zZWNvbmRhcnkge1xuICBjb2xvcjogIzM4M2Q0MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTNlNTtcbiAgYm9yZGVyLWNvbG9yOiAjZDZkOGRiO1xufVxuXG4uYWxlcnQtc2Vjb25kYXJ5IGhyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2M4Y2JjZjtcbn1cblxuLmFsZXJ0LXNlY29uZGFyeSAuYWxlcnQtbGluayB7XG4gIGNvbG9yOiAjMjAyMzI2O1xufVxuXG4uYWxlcnQtc3VjY2VzcyB7XG4gIGNvbG9yOiAjMTU1NzI0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRlZGRhO1xuICBib3JkZXItY29sb3I6ICNjM2U2Y2I7XG59XG5cbi5hbGVydC1zdWNjZXNzIGhyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2IxZGZiYjtcbn1cblxuLmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzBiMmUxMztcbn1cblxuLmFsZXJ0LWluZm8ge1xuICBjb2xvcjogIzBjNTQ2MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QxZWNmMTtcbiAgYm9yZGVyLWNvbG9yOiAjYmVlNWViO1xufVxuXG4uYWxlcnQtaW5mbyBociB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNhYmRkZTU7XG59XG5cbi5hbGVydC1pbmZvIC5hbGVydC1saW5rIHtcbiAgY29sb3I6ICMwNjJjMzM7XG59XG5cbi5hbGVydC13YXJuaW5nIHtcbiAgY29sb3I6ICM4NTY0MDQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYzY2Q7XG4gIGJvcmRlci1jb2xvcjogI2ZmZWViYTtcbn1cblxuLmFsZXJ0LXdhcm5pbmcgaHIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjZmZlOGExO1xufVxuXG4uYWxlcnQtd2FybmluZyAuYWxlcnQtbGluayB7XG4gIGNvbG9yOiAjNTMzZjAzO1xufVxuXG4uYWxlcnQtZGFuZ2VyIHtcbiAgY29sb3I6ICM3MjFjMjQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGQ3ZGE7XG4gIGJvcmRlci1jb2xvcjogI2Y1YzZjYjtcbn1cblxuLmFsZXJ0LWRhbmdlciBociB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmMWIwYjc7XG59XG5cbi5hbGVydC1kYW5nZXIgLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzQ5MTIxNztcbn1cblxuLmFsZXJ0LWxpZ2h0IHtcbiAgY29sb3I6ICM4MTgxODI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlci1jb2xvcjogI2ZkZmRmZTtcbn1cblxuLmFsZXJ0LWxpZ2h0IGhyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2VjZWNmNjtcbn1cblxuLmFsZXJ0LWxpZ2h0IC5hbGVydC1saW5rIHtcbiAgY29sb3I6ICM2ODY4Njg7XG59XG5cbi5hbGVydC1kYXJrIHtcbiAgY29sb3I6ICMxYjFlMjE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNmQ4ZDk7XG4gIGJvcmRlci1jb2xvcjogI2M2YzhjYTtcbn1cblxuLmFsZXJ0LWRhcmsgaHIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjYjliYmJlO1xufVxuXG4uYWxlcnQtZGFyayAuYWxlcnQtbGluayB7XG4gIGNvbG9yOiAjMDQwNTA1O1xufVxuXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMXJlbSAwO1xuICB9XG4gIHRvIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIH1cbn1cblxuLnByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5wcm9ncmVzcy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlO1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucHJvZ3Jlc3MtYmFyIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gMXJlbTtcbn1cblxuLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMXMgbGluZWFyIGluZmluaXRlO1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTtcbn1cblxuLmxpc3QtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjNDk1MDU3O1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICB6LWluZGV4OiAxO1xuICBjb2xvcjogIzQ5NTA1NztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjphY3RpdmUge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQsIC5saXN0LWdyb3VwLWl0ZW06ZGlzYWJsZWQge1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgei1pbmRleDogMjtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG4gIGJvcmRlci1jb2xvcjogIzAwN2JmZjtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG59XG5cbi5saXN0LWdyb3VwLWhvcml6b250YWwge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4ubGlzdC1ncm91cC1ob3Jpem9udGFsIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cblxuLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5saXN0LWdyb3VwLWhvcml6b250YWwgLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xufVxuXG4ubGlzdC1ncm91cC1ob3Jpem9udGFsIC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtIC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnIC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwgLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICB9XG59XG5cbi5saXN0LWdyb3VwLWZsdXNoIC5saXN0LWdyb3VwLWl0ZW0ge1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4ubGlzdC1ncm91cC1mbHVzaCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbn1cblxuLmxpc3QtZ3JvdXAtZmx1c2g6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLXByaW1hcnkge1xuICBjb2xvcjogIzAwNDA4NTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I4ZGFmZjtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcbiAgY29sb3I6ICMwMDQwODU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZmNkZmY7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0MDg1O1xuICBib3JkZXItY29sb3I6ICMwMDQwODU7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICMzODNkNDE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNmQ4ZGI7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICBjb2xvcjogIzM4M2Q0MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4Y2JjZjtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4M2Q0MTtcbiAgYm9yZGVyLWNvbG9yOiAjMzgzZDQxO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3Mge1xuICBjb2xvcjogIzE1NTcyNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MzZTZjYjtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcbiAgY29sb3I6ICMxNTU3MjQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMWRmYmI7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTU1NzI0O1xuICBib3JkZXItY29sb3I6ICMxNTU3MjQ7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0taW5mbyB7XG4gIGNvbG9yOiAjMGM1NDYwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmVlNWViO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICBjb2xvcjogIzBjNTQ2MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FiZGRlNTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYzU0NjA7XG4gIGJvcmRlci1jb2xvcjogIzBjNTQ2MDtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIHtcbiAgY29sb3I6ICM4NTY0MDQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVlYmE7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gIGNvbG9yOiAjODU2NDA0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlOGExO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg1NjQwNDtcbiAgYm9yZGVyLWNvbG9yOiAjODU2NDA0O1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLWRhbmdlciB7XG4gIGNvbG9yOiAjNzIxYzI0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVjNmNiO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcbiAgY29sb3I6ICM3MjFjMjQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWIwYjc7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MjFjMjQ7XG4gIGJvcmRlci1jb2xvcjogIzcyMWMyNDtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1saWdodCB7XG4gIGNvbG9yOiAjODE4MTgyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZlO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tbGlnaHQubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gIGNvbG9yOiAjODE4MTgyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2Y2O1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4MTgxODI7XG4gIGJvcmRlci1jb2xvcjogIzgxODE4Mjtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1kYXJrIHtcbiAgY29sb3I6ICMxYjFlMjE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjNmM4Y2E7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWRhcmsubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gIGNvbG9yOiAjMWIxZTIxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliYmJlO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLWRhcmsubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFiMWUyMTtcbiAgYm9yZGVyLWNvbG9yOiAjMWIxZTIxO1xufVxuXG4uY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwICNmZmY7XG4gIG9wYWNpdHk6IC41O1xufVxuXG4uY2xvc2U6aG92ZXIge1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uY2xvc2U6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6aG92ZXIsIC5jbG9zZTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTpmb2N1cyB7XG4gIG9wYWNpdHk6IC43NTtcbn1cblxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udG9hc3Qge1xuICBtYXgtd2lkdGg6IDM1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJveC1zaGFkb3c6IDAgMC4yNXJlbSAwLjc1cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICBvcGFjaXR5OiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuXG4udG9hc3Q6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG5cbi50b2FzdC5zaG93aW5nIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnRvYXN0LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogMTtcbn1cblxuLnRvYXN0LmhpZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjc1cmVtO1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogMC43NXJlbTtcbn1cblxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubW9kYWwtb3BlbiAubW9kYWwge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDUwO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdXRsaW5lOiAwO1xufVxuXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAwLjVyZW07XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9nIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MHB4KTtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuXG4ubW9kYWwuc2hvdyAubW9kYWwtZGlhbG9nIHtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4ubW9kYWwubW9kYWwtc3RhdGljIC5tb2RhbC1kaWFsb2cge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTtcbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1jb250ZW50IHtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDFyZW0pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUgLm1vZGFsLWhlYWRlcixcbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSAubW9kYWwtZm9vdGVyIHtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSAubW9kYWwtYm9keSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTtcbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDFyZW0pO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSAubW9kYWwtY29udGVudCB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQubW9kYWwtZGlhbG9nLXNjcm9sbGFibGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xuICBvdXRsaW5lOiAwO1xufVxuXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA0MDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG4ubW9kYWwtYmFja2Ryb3AuZmFkZSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5tb2RhbC1iYWNrZHJvcC5zaG93IHtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMXJlbSAxcmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RlZTJlNjtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYygwLjNyZW0gLSAxcHgpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYygwLjNyZW0gLSAxcHgpO1xufVxuXG4ubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG4gIHBhZGRpbmc6IDFyZW0gMXJlbTtcbiAgbWFyZ2luOiAtMXJlbSAtMXJlbSAtMXJlbSBhdXRvO1xufVxuXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IDFyZW07XG59XG5cbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVlMmU2O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogY2FsYygwLjNyZW0gLSAxcHgpO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBjYWxjKDAuM3JlbSAtIDFweCk7XG59XG5cbi5tb2RhbC1mb290ZXIgPiAqIHtcbiAgbWFyZ2luOiAwLjI1cmVtO1xufVxuXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgbWFyZ2luOiAxLjc1cmVtIGF1dG87XG4gIH1cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjVyZW0pO1xuICB9XG4gIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMuNXJlbSk7XG4gIH1cbiAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gMy41cmVtKTtcbiAgfVxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkOjpiZWZvcmUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDMuNXJlbSk7XG4gIH1cbiAgLm1vZGFsLXNtIHtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gIH1cbn1cblxuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwNzA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi50b29sdGlwLnNob3cge1xuICBvcGFjaXR5OiAwLjk7XG59XG5cbi50b29sdGlwIC5hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwLjhyZW07XG4gIGhlaWdodDogMC40cmVtO1xufVxuXG4udG9vbHRpcCAuYXJyb3c6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLmJzLXRvb2x0aXAtdG9wLCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gIHBhZGRpbmc6IDAuNHJlbSAwO1xufVxuXG4uYnMtdG9vbHRpcC10b3AgLmFycm93LCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAuYXJyb3cge1xuICBib3R0b206IDA7XG59XG5cbi5icy10b29sdGlwLXRvcCAuYXJyb3c6OmJlZm9yZSwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJ0b3BcIl0gLmFycm93OjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIGJvcmRlci13aWR0aDogMC40cmVtIDAuNHJlbSAwO1xuICBib3JkZXItdG9wLWNvbG9yOiAjMDAwO1xufVxuXG4uYnMtdG9vbHRpcC1yaWdodCwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gIHBhZGRpbmc6IDAgMC40cmVtO1xufVxuXG4uYnMtdG9vbHRpcC1yaWdodCAuYXJyb3csIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwicmlnaHRcIl0gLmFycm93IHtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDAuNHJlbTtcbiAgaGVpZ2h0OiAwLjhyZW07XG59XG5cbi5icy10b29sdGlwLXJpZ2h0IC5hcnJvdzo6YmVmb3JlLCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIC5hcnJvdzo6YmVmb3JlIHtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci13aWR0aDogMC40cmVtIDAuNHJlbSAwLjRyZW0gMDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMDAwO1xufVxuXG4uYnMtdG9vbHRpcC1ib3R0b20sIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgcGFkZGluZzogMC40cmVtIDA7XG59XG5cbi5icy10b29sdGlwLWJvdHRvbSAuYXJyb3csIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC5hcnJvdyB7XG4gIHRvcDogMDtcbn1cblxuLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3JlLCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAuYXJyb3c6OmJlZm9yZSB7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAuNHJlbSAwLjRyZW07XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7XG59XG5cbi5icy10b29sdGlwLWxlZnQsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gIHBhZGRpbmc6IDAgMC40cmVtO1xufVxuXG4uYnMtdG9vbHRpcC1sZWZ0IC5hcnJvdywgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC5hcnJvdyB7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMC40cmVtO1xuICBoZWlnaHQ6IDAuOHJlbTtcbn1cblxuLmJzLXRvb2x0aXAtbGVmdCAuYXJyb3c6OmJlZm9yZSwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC5hcnJvdzo6YmVmb3JlIHtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwLjRyZW0gMCAwLjRyZW0gMC40cmVtO1xuICBib3JkZXItbGVmdC1jb2xvcjogIzAwMDtcbn1cblxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA2MDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMjc2cHg7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xufVxuXG4ucG9wb3ZlciAuYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbjogMCAwLjNyZW07XG59XG5cbi5wb3BvdmVyIC5hcnJvdzo6YmVmb3JlLCAucG9wb3ZlciAuYXJyb3c6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLmJzLXBvcG92ZXItdG9wLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLmJzLXBvcG92ZXItdG9wID4gLmFycm93LCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSA+IC5hcnJvdyB7XG4gIGJvdHRvbTogY2FsYygtMC41cmVtIC0gMXB4KTtcbn1cblxuLmJzLXBvcG92ZXItdG9wID4gLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwidG9wXCJdID4gLmFycm93OjpiZWZvcmUge1xuICBib3R0b206IDA7XG4gIGJvcmRlci13aWR0aDogMC41cmVtIDAuNXJlbSAwO1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuXG4uYnMtcG9wb3Zlci10b3AgPiAuYXJyb3c6OmFmdGVyLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInRvcFwiXSA+IC5hcnJvdzo6YWZ0ZXIge1xuICBib3R0b206IDFweDtcbiAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMC41cmVtIDA7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG59XG5cbi5icy1wb3BvdmVyLXJpZ2h0LCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cblxuLmJzLXBvcG92ZXItcmlnaHQgPiAuYXJyb3csIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwicmlnaHRcIl0gPiAuYXJyb3cge1xuICBsZWZ0OiBjYWxjKC0wLjVyZW0gLSAxcHgpO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMC4zcmVtIDA7XG59XG5cbi5icy1wb3BvdmVyLXJpZ2h0ID4gLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwicmlnaHRcIl0gPiAuYXJyb3c6OmJlZm9yZSB7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlci13aWR0aDogMC41cmVtIDAuNXJlbSAwLjVyZW0gMDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuXG4uYnMtcG9wb3Zlci1yaWdodCA+IC5hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwicmlnaHRcIl0gPiAuYXJyb3c6OmFmdGVyIHtcbiAgbGVmdDogMXB4O1xuICBib3JkZXItd2lkdGg6IDAuNXJlbSAwLjVyZW0gMC41cmVtIDA7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2ZmZjtcbn1cblxuLmJzLXBvcG92ZXItYm90dG9tLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLmJzLXBvcG92ZXItYm90dG9tID4gLmFycm93LCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSA+IC5hcnJvdyB7XG4gIHRvcDogY2FsYygtMC41cmVtIC0gMXB4KTtcbn1cblxuLmJzLXBvcG92ZXItYm90dG9tID4gLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVwiYm90dG9tXCJdID4gLmFycm93OjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIGJvcmRlci13aWR0aDogMCAwLjVyZW0gMC41cmVtIDAuNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cblxuLmJzLXBvcG92ZXItYm90dG9tID4gLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJib3R0b21cIl0gPiAuYXJyb3c6OmFmdGVyIHtcbiAgdG9wOiAxcHg7XG4gIGJvcmRlci13aWR0aDogMCAwLjVyZW0gMC41cmVtIDAuNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbn1cblxuLmJzLXBvcG92ZXItYm90dG9tIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjdmN2Y3O1xufVxuXG4uYnMtcG9wb3Zlci1sZWZ0LCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuLmJzLXBvcG92ZXItbGVmdCA+IC5hcnJvdywgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdID4gLmFycm93IHtcbiAgcmlnaHQ6IGNhbGMoLTAuNXJlbSAtIDFweCk7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwLjNyZW0gMDtcbn1cblxuLmJzLXBvcG92ZXItbGVmdCA+IC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0gPiAuYXJyb3c6OmJlZm9yZSB7XG4gIHJpZ2h0OiAwO1xuICBib3JkZXItd2lkdGg6IDAuNXJlbSAwIDAuNXJlbSAwLjVyZW07XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuXG4uYnMtcG9wb3Zlci1sZWZ0ID4gLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XCJsZWZ0XCJdID4gLmFycm93OjphZnRlciB7XG4gIHJpZ2h0OiAxcHg7XG4gIGJvcmRlci13aWR0aDogMC41cmVtIDAgMC41cmVtIDAuNXJlbTtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7XG59XG5cbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWJlYmViO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKDAuM3JlbSAtIDFweCk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKDAuM3JlbSAtIDFweCk7XG59XG5cbi5wb3BvdmVyLWhlYWRlcjplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgY29sb3I6ICMyMTI1Mjk7XG59XG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY2Fyb3VzZWwtaW5uZXI6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGVhc2UtaW4tb3V0O1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0Om5vdCguY2Fyb3VzZWwtaXRlbS1sZWZ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0tcHJldjpub3QoLmNhcm91c2VsLWl0ZW0tcmlnaHQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG4uY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsXG4uY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB6LWluZGV4OiAxO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbi5jYXJvdXNlbC1mYWRlIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMHMgMC42cztcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gIC5jYXJvdXNlbC1mYWRlIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTUlO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZTtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbiAgLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2OmhvdmVyLCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2OmZvY3VzLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dDpob3Zlcixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQ6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiAwO1xuICBvcGFjaXR5OiAwLjk7XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IDUwJSAvIDEwMCUgMTAwJTtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2ZmZicgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNUw0LjI1IDRsMi41LTIuNUw1LjI1IDB6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZmZmJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZD0nTTIuNzUgMGwtMS41IDEuNUwzLjc1IDRsLTIuNSAyLjVMMi43NSA4bDQtNC00LTR6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMTUlO1xuICBtYXJnaW4tbGVmdDogMTUlO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaSB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogM3B4O1xuICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXItdG9wOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAuNTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzIGVhc2U7XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIC5hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE1JTtcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAxNSU7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXIge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG4uc3Bpbm5lci1ib3JkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgYm9yZGVyOiAwLjI1ZW0gc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3Bpbm5lci1ib3JkZXIgLjc1cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIGJvcmRlci13aWR0aDogMC4yZW07XG59XG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5zcGlubmVyLWdyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIGFuaW1hdGlvbjogc3Bpbm5lci1ncm93IC43NXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4uc3Bpbm5lci1ncm93LXNtIHtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbn1cblxuLmFsaWduLWJhc2VsaW5lIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi10b3Age1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1taWRkbGUge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1ib3R0b20ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi10ZXh0LWJvdHRvbSB7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tdGV4dC10b3Age1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDtcbn1cblxuLmJnLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctcHJpbWFyeTpob3ZlciwgYS5iZy1wcmltYXJ5OmZvY3VzLFxuYnV0dG9uLmJnLXByaW1hcnk6aG92ZXIsXG5idXR0b24uYmctcHJpbWFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDYyY2MgIWltcG9ydGFudDtcbn1cblxuLmJnLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudDtcbn1cblxuYS5iZy1zZWNvbmRhcnk6aG92ZXIsIGEuYmctc2Vjb25kYXJ5OmZvY3VzLFxuYnV0dG9uLmJnLXNlY29uZGFyeTpob3ZlcixcbmJ1dHRvbi5iZy1zZWNvbmRhcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1YjYyICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NSAhaW1wb3J0YW50O1xufVxuXG5hLmJnLXN1Y2Nlc3M6aG92ZXIsIGEuYmctc3VjY2Vzczpmb2N1cyxcbmJ1dHRvbi5iZy1zdWNjZXNzOmhvdmVyLFxuYnV0dG9uLmJnLXN1Y2Nlc3M6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU3ZTM0ICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3YTJiOCAhaW1wb3J0YW50O1xufVxuXG5hLmJnLWluZm86aG92ZXIsIGEuYmctaW5mbzpmb2N1cyxcbmJ1dHRvbi5iZy1pbmZvOmhvdmVyLFxuYnV0dG9uLmJnLWluZm86Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE3YThiICFpbXBvcnRhbnQ7XG59XG5cbi5iZy13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNyAhaW1wb3J0YW50O1xufVxuXG5hLmJnLXdhcm5pbmc6aG92ZXIsIGEuYmctd2FybmluZzpmb2N1cyxcbmJ1dHRvbi5iZy13YXJuaW5nOmhvdmVyLFxuYnV0dG9uLmJnLXdhcm5pbmc6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDM5ZTAwICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1kYW5nZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNTQ1ICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctZGFuZ2VyOmhvdmVyLCBhLmJnLWRhbmdlcjpmb2N1cyxcbmJ1dHRvbi5iZy1kYW5nZXI6aG92ZXIsXG5idXR0b24uYmctZGFuZ2VyOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JkMjEzMCAhaW1wb3J0YW50O1xufVxuXG4uYmctbGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctbGlnaHQ6aG92ZXIsIGEuYmctbGlnaHQ6Zm9jdXMsXG5idXR0b24uYmctbGlnaHQ6aG92ZXIsXG5idXR0b24uYmctbGlnaHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFlMGU1ICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50O1xufVxuXG5hLmJnLWRhcms6aG92ZXIsIGEuYmctZGFyazpmb2N1cyxcbmJ1dHRvbi5iZy1kYXJrOmhvdmVyLFxuYnV0dG9uLmJnLWRhcms6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQyMTI0ICFpbXBvcnRhbnQ7XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLmJnLXRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTYgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci10b3Age1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RlZTJlNiAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXJpZ2h0IHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RlZTJlNiAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItbGVmdCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RlZTJlNiAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLTAge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci10b3AtMCB7XG4gIGJvcmRlci10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1yaWdodC0wIHtcbiAgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItYm90dG9tLTAge1xuICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItbGVmdC0wIHtcbiAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1wcmltYXJ5IHtcbiAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItc2Vjb25kYXJ5IHtcbiAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItc3VjY2VzcyB7XG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWluZm8ge1xuICBib3JkZXItY29sb3I6ICMxN2EyYjggIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci13YXJuaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZjMTA3ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItZGFuZ2VyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItbGlnaHQge1xuICBib3JkZXItY29sb3I6ICNmOGY5ZmEgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1kYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiAjMzQzYTQwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtc20ge1xuICBib3JkZXItcmFkaXVzOiAwLjJyZW0gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcmlnaHQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxlZnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGcge1xuICBib3JkZXItcmFkaXVzOiAwLjNyZW0gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXBpbGwge1xuICBib3JkZXItcmFkaXVzOiA1MHJlbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4uZC1ub25lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbn1cblxuLmQtaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5kLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmQtdGFibGUge1xuICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xufVxuXG4uZC10YWJsZS1yb3cge1xuICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbn1cblxuLmQtdGFibGUtY2VsbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbn1cblxuLmQtZmxleCB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbn1cblxuLmQtaW5saW5lLWZsZXgge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmQtc20tbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXNtLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtc20taW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuZC1zbS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuZC1zbS10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICAuZC1zbS10YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXNtLXRhYmxlLWNlbGwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuICAuZC1zbS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtc20taW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5kLW1kLW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZC1tZC1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLW1kLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbWQtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbWQtdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbWQtdGFibGUtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICAuZC1tZC10YWJsZS1jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbWQtZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLW1kLWlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZC1sZy1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbGctaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZC1sZy1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtbGctdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLWxnLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxuICAuZC1sZy1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5kLXhsLW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZC14bC1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXhsLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteGwtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteGwtdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteGwtdGFibGUtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICAuZC14bC10YWJsZS1jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQteGwtZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXhsLWlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIC5kLXByaW50LW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuZC1wcmludC1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXByaW50LWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtcHJpbnQtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtcHJpbnQtdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtcHJpbnQtdGFibGUtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICAuZC1wcmludC10YWJsZS1jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmQtcHJpbnQtZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG4gIC5kLXByaW50LWlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSxcbi5lbWJlZC1yZXNwb25zaXZlIGlmcmFtZSxcbi5lbWJlZC1yZXNwb25zaXZlIGVtYmVkLFxuLmVtYmVkLXJlc3BvbnNpdmUgb2JqZWN0LFxuLmVtYmVkLXJlc3BvbnNpdmUgdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IDA7XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTIxYnk5OjpiZWZvcmUge1xuICBwYWRkaW5nLXRvcDogNDIuODU3MTQzJTtcbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMTZieTk6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTRieTM6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiA3NSU7XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTFieTE6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiAxMDAlO1xufVxuXG4uZmxleC1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbn1cblxuLmZsZXgtcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtd3JhcCB7XG4gIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1ub3dyYXAge1xuICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4uZmxleC13cmFwLXJldmVyc2Uge1xuICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1maWxsIHtcbiAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmZsZXgtZ3Jvdy0wIHtcbiAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LWdyb3ctMSB7XG4gIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1zaHJpbmstMCB7XG4gIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LXNocmluay0xIHtcbiAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDtcbn1cblxuLmp1c3RpZnktY29udGVudC1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LWVuZCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbn1cblxuLmp1c3RpZnktY29udGVudC1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbn1cblxuLmp1c3RpZnktY29udGVudC1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24taXRlbXMtc3RhcnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24taXRlbXMtZW5kIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1pdGVtcy1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1pdGVtcy1iYXNlbGluZSB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24taXRlbXMtc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1jb250ZW50LXN0YXJ0IHtcbiAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tY29udGVudC1lbmQge1xuICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tY29udGVudC1jZW50ZXIge1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWNvbnRlbnQtYmV0d2VlbiB7XG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWNvbnRlbnQtYXJvdW5kIHtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1jb250ZW50LXN0cmV0Y2gge1xuICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1zZWxmLWF1dG8ge1xuICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1zZWxmLXN0YXJ0IHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tc2VsZi1lbmQge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tc2VsZi1jZW50ZXIge1xuICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXNlbGYtYmFzZWxpbmUge1xuICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmZsZXgtc20tcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20tY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20tcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1zbS13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1zbS1ub3dyYXAge1xuICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20td3JhcC1yZXZlcnNlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLWZpbGwge1xuICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtc20tZ3Jvdy0wIHtcbiAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1zbS1ncm93LTEge1xuICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLXNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXNtLXNocmluay0xIHtcbiAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1zbS1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1zbS1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXNtLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtc20tc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXNtLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXNtLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1zbS1iYXNlbGluZSB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXNtLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtc20tc3RhcnQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1zbS1lbmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtc20tY2VudGVyIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1zbS1iZXR3ZWVuIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtc20tYXJvdW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1zbS1zdHJldGNoIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtc20tYXV0byB7XG4gICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXNtLXN0YXJ0IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtc20tZW5kIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXNtLWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtc20tYmFzZWxpbmUge1xuICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtc20tc3RyZXRjaCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxleC1tZC1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbWQtY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC13cmFwLXJldmVyc2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbWQtZmlsbCB7XG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1tZC1ncm93LTAge1xuICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LW1kLWdyb3ctMSB7XG4gICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbWQtc2hyaW5rLTAge1xuICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbWQtc2hyaW5rLTEge1xuICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1tZC1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1tZC1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LW1kLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LW1kLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1tZC1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbWQtZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbWQtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLW1kLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbWQtc3RyZXRjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1tZC1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LW1kLWVuZCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1tZC1jZW50ZXIge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LW1kLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tY29udGVudC1tZC1hcm91bmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LW1kLXN0cmV0Y2gge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1tZC1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbWQtc3RhcnQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1tZC1lbmQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLXNlbGYtbWQtY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1tZC1iYXNlbGluZSB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1tZC1zdHJldGNoIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mbGV4LWxnLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LWxnLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LWxnLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbGctd3JhcCB7XG4gICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbGctbm93cmFwIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LWxnLXdyYXAtcmV2ZXJzZSB7XG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy1maWxsIHtcbiAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LWxnLWdyb3ctMCB7XG4gICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgtbGctZ3Jvdy0xIHtcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy1zaHJpbmstMCB7XG4gICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC1sZy1zaHJpbmstMSB7XG4gICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LWxnLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LWxnLWVuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC1sZy1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLWxnLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1sZy1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1sZy1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMtbGctYmFzZWxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy1sZy1zdHJldGNoIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LWxnLXN0YXJ0IHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtbGctZW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LWxnLWNlbnRlciB7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtbGctYmV0d2VlbiB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LWxnLWFyb3VuZCB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQtbGctc3RyZXRjaCB7XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLWxnLWF1dG8ge1xuICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1sZy1zdGFydCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLWxnLWVuZCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi1sZy1jZW50ZXIge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLWxnLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLWxnLXN0cmV0Y2gge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mbGV4LXhsLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteGwtd3JhcCB7XG4gICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteGwtbm93cmFwIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLXdyYXAtcmV2ZXJzZSB7XG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC1maWxsIHtcbiAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5mbGV4LXhsLWdyb3ctMCB7XG4gICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsZXgteGwtZ3Jvdy0xIHtcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC1zaHJpbmstMCB7XG4gICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuZmxleC14bC1zaHJpbmstMSB7XG4gICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXhsLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuanVzdGlmeS1jb250ZW50LXhsLWVuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmp1c3RpZnktY29udGVudC14bC1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWl0ZW1zLXhsLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy14bC1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy14bC1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24taXRlbXMteGwtYmFzZWxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1pdGVtcy14bC1zdHJldGNoIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXhsLXN0YXJ0IHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQteGwtZW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXhsLWNlbnRlciB7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQteGwtYmV0d2VlbiB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1jb250ZW50LXhsLWFyb3VuZCB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFsaWduLWNvbnRlbnQteGwtc3RyZXRjaCB7XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXhsLWF1dG8ge1xuICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi14bC1zdGFydCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXhsLWVuZCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuYWxpZ24tc2VsZi14bC1jZW50ZXIge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXhsLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGlnbi1zZWxmLXhsLXN0cmV0Y2gge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uZmxvYXQtbm9uZSB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuZmxvYXQtc20tbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAuZmxvYXQtc20tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbG9hdC1zbS1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxvYXQtbWQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAuZmxvYXQtbWQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbG9hdC1tZC1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZmxvYXQtbGctbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAuZmxvYXQtbGctcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC5mbG9hdC1sZy1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZsb2F0LXhsLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmZsb2F0LXhsLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAuZmxvYXQteGwtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ub3ZlcmZsb3ctYXV0byB7XG4gIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1zdGF0aWMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufVxuXG4ucG9zaXRpb24tYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbn1cblxuLnBvc2l0aW9uLWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1zdGlja3kge1xuICBwb3NpdGlvbjogc3RpY2t5ICFpbXBvcnRhbnQ7XG59XG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMzA7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMzA7XG59XG5cbkBzdXBwb3J0cyAocG9zaXRpb246IHN0aWNreSkge1xuICAuc3RpY2t5LXRvcCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTAyMDtcbiAgfVxufVxuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4uc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLCAuc3Itb25seS1mb2N1c2FibGU6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLnNoYWRvdy1zbSB7XG4gIGJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC4yNXJlbSByZ2JhKDAsIDAsIDAsIDAuMDc1KSAhaW1wb3J0YW50O1xufVxuXG4uc2hhZG93IHtcbiAgYm94LXNoYWRvdzogMCAwLjVyZW0gMXJlbSByZ2JhKDAsIDAsIDAsIDAuMTUpICFpbXBvcnRhbnQ7XG59XG5cbi5zaGFkb3ctbGcge1xuICBib3gtc2hhZG93OiAwIDFyZW0gM3JlbSByZ2JhKDAsIDAsIDAsIDAuMTc1KSAhaW1wb3J0YW50O1xufVxuXG4uc2hhZG93LW5vbmUge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi53LTI1IHtcbiAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xufVxuXG4udy01MCB7XG4gIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnctNzUge1xuICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG59XG5cbi53LTEwMCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi53LWF1dG8ge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uaC0yNSB7XG4gIGhlaWdodDogMjUlICFpbXBvcnRhbnQ7XG59XG5cbi5oLTUwIHtcbiAgaGVpZ2h0OiA1MCUgIWltcG9ydGFudDtcbn1cblxuLmgtNzUge1xuICBoZWlnaHQ6IDc1JSAhaW1wb3J0YW50O1xufVxuXG4uaC0xMDAge1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLmgtYXV0byB7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ubXctMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5taC0xMDAge1xuICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5taW4tdnctMTAwIHtcbiAgbWluLXdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xufVxuXG4ubWluLXZoLTEwMCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XG59XG5cbi52dy0xMDAge1xuICB3aWR0aDogMTAwdncgIWltcG9ydGFudDtcbn1cblxuLnZoLTEwMCB7XG4gIGhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbn1cblxuLnN0cmV0Y2hlZC1saW5rOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuLm0tMCB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4ubXQtMCxcbi5teS0wIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4ubXItMCxcbi5teC0wIHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYi0wLFxuLm15LTAge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tbC0wLFxuLm14LTAge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4ubS0xIHtcbiAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC0xLFxuLm15LTEge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tci0xLFxuLm14LTEge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1iLTEsXG4ubXktMSB7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1sLTEsXG4ubXgtMSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tLTIge1xuICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtMixcbi5teS0yIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tci0yLFxuLm14LTIge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItMixcbi5teS0yIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tbC0yLFxuLm14LTIge1xuICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tLTMge1xuICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm10LTMsXG4ubXktMyB7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1yLTMsXG4ubXgtMyB7XG4gIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItMyxcbi5teS0zIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWwtMyxcbi5teC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm0tNCB7XG4gIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC00LFxuLm15LTQge1xuICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1yLTQsXG4ubXgtNCB7XG4gIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi00LFxuLm15LTQge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1sLTQsXG4ubXgtNCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm0tNSB7XG4gIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtNSxcbi5teS01IHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubXItNSxcbi5teC01IHtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi01LFxuLm15LTUge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tbC01LFxuLm14LTUge1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucC0wIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4ucHQtMCxcbi5weS0wIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLnByLTAsXG4ucHgtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnBiLTAsXG4ucHktMCB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wbC0wLFxuLnB4LTAge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnAtMSB7XG4gIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnB0LTEsXG4ucHktMSB7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wci0xLFxuLnB4LTEge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYi0xLFxuLnB5LTEge1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGwtMSxcbi5weC0xIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wLTIge1xuICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnB0LTIsXG4ucHktMiB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnByLTIsXG4ucHgtMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGItMixcbi5weS0yIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGwtMixcbi5weC0yIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnAtMyB7XG4gIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnB0LTMsXG4ucHktMyB7XG4gIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wci0zLFxuLnB4LTMge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYi0zLFxuLnB5LTMge1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGwtMyxcbi5weC0zIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wLTQge1xuICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnB0LTQsXG4ucHktNCB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnByLTQsXG4ucHgtNCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGItNCxcbi5weS00IHtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGwtNCxcbi5weC00IHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnAtNSB7XG4gIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnB0LTUsXG4ucHktNSB7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wci01LFxuLnB4LTUge1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYi01LFxuLnB5LTUge1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucGwtNSxcbi5weC01IHtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tLW4xIHtcbiAgbWFyZ2luOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtbjEsXG4ubXktbjEge1xuICBtYXJnaW4tdG9wOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXItbjEsXG4ubXgtbjEge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi1uMSxcbi5teS1uMSB7XG4gIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tbC1uMSxcbi5teC1uMSB7XG4gIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubS1uMiB7XG4gIG1hcmdpbjogLTAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtbjIsXG4ubXktbjIge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tci1uMixcbi5teC1uMiB7XG4gIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItbjIsXG4ubXktbjIge1xuICBtYXJnaW4tYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tbC1uMixcbi5teC1uMiB7XG4gIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tLW4zIHtcbiAgbWFyZ2luOiAtMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtbjMsXG4ubXktbjMge1xuICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXItbjMsXG4ubXgtbjMge1xuICBtYXJnaW4tcmlnaHQ6IC0xcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi1uMyxcbi5teS1uMyB7XG4gIG1hcmdpbi1ib3R0b206IC0xcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tbC1uMyxcbi5teC1uMyB7XG4gIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubS1uNCB7XG4gIG1hcmdpbjogLTEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtbjQsXG4ubXktbjQge1xuICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tci1uNCxcbi5teC1uNCB7XG4gIG1hcmdpbi1yaWdodDogLTEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItbjQsXG4ubXktbjQge1xuICBtYXJnaW4tYm90dG9tOiAtMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tbC1uNCxcbi5teC1uNCB7XG4gIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tLW41IHtcbiAgbWFyZ2luOiAtM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtbjUsXG4ubXktbjUge1xuICBtYXJnaW4tdG9wOiAtM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubXItbjUsXG4ubXgtbjUge1xuICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi1uNSxcbi5teS1uNSB7XG4gIG1hcmdpbi1ib3R0b206IC0zcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tbC1uNSxcbi5teC1uNSB7XG4gIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubS1hdXRvIHtcbiAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tdC1hdXRvLFxuLm15LWF1dG8ge1xuICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tci1hdXRvLFxuLm14LWF1dG8ge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm1iLWF1dG8sXG4ubXktYXV0byB7XG4gIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm1sLWF1dG8sXG4ubXgtYXV0byB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubS1zbS0wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXQtc20tMCxcbiAgLm15LXNtLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubXItc20tMCxcbiAgLm14LXNtLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1zbS0wLFxuICAubXktc20tMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1zbS0wLFxuICAubXgtc20tMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubS1zbS0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtc20tMSxcbiAgLm15LXNtLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXItc20tMSxcbiAgLm14LXNtLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1zbS0xLFxuICAubXktc20tMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1zbS0xLFxuICAubXgtc20tMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1zbS0yIHtcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1zbS0yLFxuICAubXktc20tMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLXNtLTIsXG4gIC5teC1zbS0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1zbS0yLFxuICAubXktc20tMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLXNtLTIsXG4gIC5teC1zbS0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tc20tMyB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXNtLTMsXG4gIC5teS1zbS0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLXNtLTMsXG4gIC5teC1zbS0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItc20tMyxcbiAgLm15LXNtLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWwtc20tMyxcbiAgLm14LXNtLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tc20tNCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtc20tNCxcbiAgLm15LXNtLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci1zbS00LFxuICAubXgtc20tNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItc20tNCxcbiAgLm15LXNtLTQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1zbS00LFxuICAubXgtc20tNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXNtLTUge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1zbS01LFxuICAubXktc20tNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci1zbS01LFxuICAubXgtc20tNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXNtLTUsXG4gIC5teS1zbS01IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLXNtLTUsXG4gIC5teC1zbS01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXNtLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHQtc20tMCxcbiAgLnB5LXNtLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnByLXNtLTAsXG4gIC5weC1zbS0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXNtLTAsXG4gIC5weS1zbS0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wbC1zbS0wLFxuICAucHgtc20tMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtc20tMSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1zbS0xLFxuICAucHktc20tMSB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHItc20tMSxcbiAgLnB4LXNtLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItc20tMSxcbiAgLnB5LXNtLTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBsLXNtLTEsXG4gIC5weC1zbS0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1zbS0yIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtc20tMixcbiAgLnB5LXNtLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHItc20tMixcbiAgLnB4LXNtLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1zbS0yLFxuICAucHktc20tMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wbC1zbS0yLFxuICAucHgtc20tMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1zbS0zIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXNtLTMsXG4gIC5weS1zbS0zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wci1zbS0zLFxuICAucHgtc20tMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1zbS0zLFxuICAucHktc20tMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGwtc20tMyxcbiAgLnB4LXNtLTMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXNtLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1zbS00LFxuICAucHktc20tNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wci1zbS00LFxuICAucHgtc20tNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXNtLTQsXG4gIC5weS1zbS00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBsLXNtLTQsXG4gIC5weC1zbS00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXNtLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtc20tNSxcbiAgLnB5LXNtLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnByLXNtLTUsXG4gIC5weC1zbS01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXNtLTUsXG4gIC5weS1zbS01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wbC1zbS01LFxuICAucHgtc20tNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tc20tbjEge1xuICAgIG1hcmdpbjogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtc20tbjEsXG4gIC5teS1zbS1uMSB7XG4gICAgbWFyZ2luLXRvcDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXItc20tbjEsXG4gIC5teC1zbS1uMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1zbS1uMSxcbiAgLm15LXNtLW4xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1zbS1uMSxcbiAgLm14LXNtLW4xIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1zbS1uMiB7XG4gICAgbWFyZ2luOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXNtLW4yLFxuICAubXktc20tbjIge1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXItc20tbjIsXG4gIC5teC1zbS1uMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXNtLW4yLFxuICAubXktc20tbjIge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWwtc20tbjIsXG4gIC5teC1zbS1uMiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1zbS1uMyB7XG4gICAgbWFyZ2luOiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1zbS1uMyxcbiAgLm15LXNtLW4zIHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci1zbS1uMyxcbiAgLm14LXNtLW4zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXNtLW4zLFxuICAubXktc20tbjMge1xuICAgIG1hcmdpbi1ib3R0b206IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLXNtLW4zLFxuICAubXgtc20tbjMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXNtLW40IHtcbiAgICBtYXJnaW46IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtc20tbjQsXG4gIC5teS1zbS1uNCB7XG4gICAgbWFyZ2luLXRvcDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci1zbS1uNCxcbiAgLm14LXNtLW40IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItc20tbjQsXG4gIC5teS1zbS1uNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1zbS1uNCxcbiAgLm14LXNtLW40IHtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXNtLW41IHtcbiAgICBtYXJnaW46IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXNtLW41LFxuICAubXktc20tbjUge1xuICAgIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLXNtLW41LFxuICAubXgtc20tbjUge1xuICAgIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItc20tbjUsXG4gIC5teS1zbS1uNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWwtc20tbjUsXG4gIC5teC1zbS1uNSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tc20tYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXNtLWF1dG8sXG4gIC5teS1zbS1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLXNtLWF1dG8sXG4gIC5teC1zbS1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubWItc20tYXV0byxcbiAgLm15LXNtLWF1dG8ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubWwtc20tYXV0byxcbiAgLm14LXNtLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tLW1kLTAge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1tZC0wLFxuICAubXktbWQtMCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tci1tZC0wLFxuICAubXgtbWQtMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLW1kLTAsXG4gIC5teS1tZC0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLW1kLTAsXG4gIC5teC1tZC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tLW1kLTEge1xuICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1tZC0xLFxuICAubXktbWQtMSB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci1tZC0xLFxuICAubXgtbWQtMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLW1kLTEsXG4gIC5teS1tZC0xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLW1kLTEsXG4gIC5teC1tZC0xIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLW1kLTIge1xuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LW1kLTIsXG4gIC5teS1tZC0yIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXItbWQtMixcbiAgLm14LW1kLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLW1kLTIsXG4gIC5teS1tZC0yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWwtbWQtMixcbiAgLm14LW1kLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1tZC0zIHtcbiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbWQtMyxcbiAgLm15LW1kLTMge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXItbWQtMyxcbiAgLm14LW1kLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1tZC0zLFxuICAubXktbWQtMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1tZC0zLFxuICAubXgtbWQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1tZC00IHtcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1tZC00LFxuICAubXktbWQtNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLW1kLTQsXG4gIC5teC1tZC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1tZC00LFxuICAubXktbWQtNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLW1kLTQsXG4gIC5teC1tZC00IHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbWQtNSB7XG4gICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LW1kLTUsXG4gIC5teS1tZC01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLW1kLTUsXG4gIC5teC1tZC01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbWQtNSxcbiAgLm15LW1kLTUge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWwtbWQtNSxcbiAgLm14LW1kLTUge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtbWQtMCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1tZC0wLFxuICAucHktbWQtMCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucHItbWQtMCxcbiAgLnB4LW1kLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucGItbWQtMCxcbiAgLnB5LW1kLTAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBsLW1kLTAsXG4gIC5weC1tZC0wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucC1tZC0xIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LW1kLTEsXG4gIC5weS1tZC0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wci1tZC0xLFxuICAucHgtbWQtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1tZC0xLFxuICAucHktbWQtMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGwtbWQtMSxcbiAgLnB4LW1kLTEge1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLW1kLTIge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1tZC0yLFxuICAucHktbWQtMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wci1tZC0yLFxuICAucHgtbWQtMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLW1kLTIsXG4gIC5weS1tZC0yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBsLW1kLTIsXG4gIC5weC1tZC0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wLW1kLTMge1xuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtbWQtMyxcbiAgLnB5LW1kLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnByLW1kLTMsXG4gIC5weC1tZC0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLW1kLTMsXG4gIC5weS1tZC0zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wbC1tZC0zLFxuICAucHgtbWQtMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtbWQtNCB7XG4gICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LW1kLTQsXG4gIC5weS1tZC00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnByLW1kLTQsXG4gIC5weC1tZC00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItbWQtNCxcbiAgLnB5LW1kLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGwtbWQtNCxcbiAgLnB4LW1kLTQge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtbWQtNSB7XG4gICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1tZC01LFxuICAucHktbWQtNSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHItbWQtNSxcbiAgLnB4LW1kLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItbWQtNSxcbiAgLnB5LW1kLTUge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBsLW1kLTUsXG4gIC5weC1tZC01IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1tZC1uMSB7XG4gICAgbWFyZ2luOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1tZC1uMSxcbiAgLm15LW1kLW4xIHtcbiAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci1tZC1uMSxcbiAgLm14LW1kLW4xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLW1kLW4xLFxuICAubXktbWQtbjEge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLW1kLW4xLFxuICAubXgtbWQtbjEge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLW1kLW4yIHtcbiAgICBtYXJnaW46IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbWQtbjIsXG4gIC5teS1tZC1uMiB7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci1tZC1uMixcbiAgLm14LW1kLW4yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbWQtbjIsXG4gIC5teS1tZC1uMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1tZC1uMixcbiAgLm14LW1kLW4yIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLW1kLW4zIHtcbiAgICBtYXJnaW46IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LW1kLW4zLFxuICAubXktbWQtbjMge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLW1kLW4zLFxuICAubXgtbWQtbjMge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbWQtbjMsXG4gIC5teS1tZC1uMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWwtbWQtbjMsXG4gIC5teC1tZC1uMyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbWQtbjQge1xuICAgIG1hcmdpbjogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1tZC1uNCxcbiAgLm15LW1kLW40IHtcbiAgICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLW1kLW40LFxuICAubXgtbWQtbjQge1xuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1tZC1uNCxcbiAgLm15LW1kLW40IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLW1kLW40LFxuICAubXgtbWQtbjQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbWQtbjUge1xuICAgIG1hcmdpbjogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbWQtbjUsXG4gIC5teS1tZC1uNSB7XG4gICAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXItbWQtbjUsXG4gIC5teC1tZC1uNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1tZC1uNSxcbiAgLm15LW1kLW41IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1tZC1uNSxcbiAgLm14LW1kLW41IHtcbiAgICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1tZC1hdXRvIHtcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbWQtYXV0byxcbiAgLm15LW1kLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubXItbWQtYXV0byxcbiAgLm14LW1kLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1tZC1hdXRvLFxuICAubXktbWQtYXV0byB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1tZC1hdXRvLFxuICAubXgtbWQtYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm0tbGctMCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LWxnLTAsXG4gIC5teS1sZy0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLWxnLTAsXG4gIC5teC1sZy0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWItbGctMCxcbiAgLm15LWxnLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWwtbGctMCxcbiAgLm14LWxnLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbGctMSB7XG4gICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LWxnLTEsXG4gIC5teS1sZy0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLWxnLTEsXG4gIC5teC1sZy0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbGctMSxcbiAgLm15LWxnLTEge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWwtbGctMSxcbiAgLm14LWxnLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbGctMiB7XG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbGctMixcbiAgLm15LWxnLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci1sZy0yLFxuICAubXgtbGctMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbGctMixcbiAgLm15LWxnLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1sZy0yLFxuICAubXgtbGctMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLWxnLTMge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1sZy0zLFxuICAubXktbGctMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci1sZy0zLFxuICAubXgtbGctMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLWxnLTMsXG4gIC5teS1sZy0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLWxnLTMsXG4gIC5teC1sZy0zIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLWxnLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LWxnLTQsXG4gIC5teS1sZy00IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXItbGctNCxcbiAgLm14LWxnLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLWxnLTQsXG4gIC5teS1sZy00IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWwtbGctNCxcbiAgLm14LWxnLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1sZy01IHtcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbGctNSxcbiAgLm15LWxnLTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXItbGctNSxcbiAgLm14LWxnLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1sZy01LFxuICAubXktbGctNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1sZy01LFxuICAubXgtbGctNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1sZy0wIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LWxnLTAsXG4gIC5weS1sZy0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wci1sZy0wLFxuICAucHgtbGctMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1sZy0wLFxuICAucHktbGctMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAucGwtbGctMCxcbiAgLnB4LWxnLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wLWxnLTEge1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtbGctMSxcbiAgLnB5LWxnLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnByLWxnLTEsXG4gIC5weC1sZy0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLWxnLTEsXG4gIC5weS1sZy0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wbC1sZy0xLFxuICAucHgtbGctMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtbGctMiB7XG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LWxnLTIsXG4gIC5weS1sZy0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnByLWxnLTIsXG4gIC5weC1sZy0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItbGctMixcbiAgLnB5LWxnLTIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGwtbGctMixcbiAgLnB4LWxnLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAtbGctMyB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC1sZy0zLFxuICAucHktbGctMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHItbGctMyxcbiAgLnB4LWxnLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGItbGctMyxcbiAgLnB5LWxnLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBsLWxnLTMsXG4gIC5weC1sZy0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1sZy00IHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQtbGctNCxcbiAgLnB5LWxnLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHItbGctNCxcbiAgLnB4LWxnLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1sZy00LFxuICAucHktbGctNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wbC1sZy00LFxuICAucHgtbGctNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC1sZy01IHtcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LWxnLTUsXG4gIC5weS1sZy01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wci1sZy01LFxuICAucHgtbGctNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi1sZy01LFxuICAucHktbGctNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGwtbGctNSxcbiAgLnB4LWxnLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLWxnLW4xIHtcbiAgICBtYXJnaW46IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LWxnLW4xLFxuICAubXktbGctbjEge1xuICAgIG1hcmdpbi10b3A6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLWxnLW4xLFxuICAubXgtbGctbjEge1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWItbGctbjEsXG4gIC5teS1sZy1uMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWwtbGctbjEsXG4gIC5teC1sZy1uMSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbGctbjIge1xuICAgIG1hcmdpbjogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1sZy1uMixcbiAgLm15LWxnLW4yIHtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLWxnLW4yLFxuICAubXgtbGctbjIge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1sZy1uMixcbiAgLm15LWxnLW4yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLWxnLW4yLFxuICAubXgtbGctbjIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0tbGctbjMge1xuICAgIG1hcmdpbjogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQtbGctbjMsXG4gIC5teS1sZy1uMyB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXItbGctbjMsXG4gIC5teC1sZy1uMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi1sZy1uMyxcbiAgLm15LWxnLW4zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC1sZy1uMyxcbiAgLm14LWxnLW4zIHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1sZy1uNCB7XG4gICAgbWFyZ2luOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LWxnLW40LFxuICAubXktbGctbjQge1xuICAgIG1hcmdpbi10b3A6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXItbGctbjQsXG4gIC5teC1sZy1uNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLWxnLW40LFxuICAubXktbGctbjQge1xuICAgIG1hcmdpbi1ib3R0b206IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWwtbGctbjQsXG4gIC5teC1sZy1uNCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS1sZy1uNSB7XG4gICAgbWFyZ2luOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1sZy1uNSxcbiAgLm15LWxnLW41IHtcbiAgICBtYXJnaW4tdG9wOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci1sZy1uNSxcbiAgLm14LWxnLW41IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLWxnLW41LFxuICAubXktbGctbjUge1xuICAgIG1hcmdpbi1ib3R0b206IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLWxnLW41LFxuICAubXgtbGctbjUge1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLWxnLWF1dG8ge1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC1sZy1hdXRvLFxuICAubXktbGctYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tci1sZy1hdXRvLFxuICAubXgtbGctYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLWxnLWF1dG8sXG4gIC5teS1sZy1hdXRvIHtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLWxnLWF1dG8sXG4gIC5teC1sZy1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm0teGwtMCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXhsLTAsXG4gIC5teS14bC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLXhsLTAsXG4gIC5teC14bC0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWIteGwtMCxcbiAgLm15LXhsLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWwteGwtMCxcbiAgLm14LXhsLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teGwtMSB7XG4gICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXhsLTEsXG4gIC5teS14bC0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLXhsLTEsXG4gIC5teC14bC0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWIteGwtMSxcbiAgLm15LXhsLTEge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWwteGwtMSxcbiAgLm14LXhsLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teGwtMiB7XG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQteGwtMixcbiAgLm15LXhsLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci14bC0yLFxuICAubXgteGwtMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWIteGwtMixcbiAgLm15LXhsLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC14bC0yLFxuICAubXgteGwtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXhsLTMge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC14bC0zLFxuICAubXkteGwtMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci14bC0zLFxuICAubXgteGwtMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXhsLTMsXG4gIC5teS14bC0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLXhsLTMsXG4gIC5teC14bC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXhsLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXhsLTQsXG4gIC5teS14bC00IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXIteGwtNCxcbiAgLm14LXhsLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXhsLTQsXG4gIC5teS14bC00IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWwteGwtNCxcbiAgLm14LXhsLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS14bC01IHtcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQteGwtNSxcbiAgLm15LXhsLTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXIteGwtNSxcbiAgLm14LXhsLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi14bC01LFxuICAubXkteGwtNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC14bC01LFxuICAubXgteGwtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC14bC0wIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXhsLTAsXG4gIC5weS14bC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wci14bC0wLFxuICAucHgteGwtMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi14bC0wLFxuICAucHkteGwtMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAucGwteGwtMCxcbiAgLnB4LXhsLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5wLXhsLTEge1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQteGwtMSxcbiAgLnB5LXhsLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnByLXhsLTEsXG4gIC5weC14bC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBiLXhsLTEsXG4gIC5weS14bC0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wbC14bC0xLFxuICAucHgteGwtMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAteGwtMiB7XG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXhsLTIsXG4gIC5weS14bC0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnByLXhsLTIsXG4gIC5weC14bC0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGIteGwtMixcbiAgLnB5LXhsLTIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGwteGwtMixcbiAgLnB4LXhsLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnAteGwtMyB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdC14bC0zLFxuICAucHkteGwtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHIteGwtMyxcbiAgLnB4LXhsLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGIteGwtMyxcbiAgLnB5LXhsLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBsLXhsLTMsXG4gIC5weC14bC0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC14bC00IHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHQteGwtNCxcbiAgLnB5LXhsLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucHIteGwtNCxcbiAgLnB4LXhsLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi14bC00LFxuICAucHkteGwtNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wbC14bC00LFxuICAucHgteGwtNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucC14bC01IHtcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnB0LXhsLTUsXG4gIC5weS14bC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wci14bC01LFxuICAucHgteGwtNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wYi14bC01LFxuICAucHkteGwtNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAucGwteGwtNSxcbiAgLnB4LXhsLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXhsLW4xIHtcbiAgICBtYXJnaW46IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXhsLW4xLFxuICAubXkteGwtbjEge1xuICAgIG1hcmdpbi10b3A6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLXhsLW4xLFxuICAubXgteGwtbjEge1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWIteGwtbjEsXG4gIC5teS14bC1uMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWwteGwtbjEsXG4gIC5teC14bC1uMSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teGwtbjIge1xuICAgIG1hcmdpbjogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC14bC1uMixcbiAgLm15LXhsLW4yIHtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1yLXhsLW4yLFxuICAubXgteGwtbjIge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi14bC1uMixcbiAgLm15LXhsLW4yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLXhsLW4yLFxuICAubXgteGwtbjIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm0teGwtbjMge1xuICAgIG1hcmdpbjogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXQteGwtbjMsXG4gIC5teS14bC1uMyB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXIteGwtbjMsXG4gIC5teC14bC1uMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tYi14bC1uMyxcbiAgLm15LXhsLW4zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tbC14bC1uMyxcbiAgLm14LXhsLW4zIHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS14bC1uNCB7XG4gICAgbWFyZ2luOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm10LXhsLW40LFxuICAubXkteGwtbjQge1xuICAgIG1hcmdpbi10b3A6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubXIteGwtbjQsXG4gIC5teC14bC1uNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXhsLW40LFxuICAubXkteGwtbjQge1xuICAgIG1hcmdpbi1ib3R0b206IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubWwteGwtbjQsXG4gIC5teC14bC1uNCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAubS14bC1uNSB7XG4gICAgbWFyZ2luOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC14bC1uNSxcbiAgLm15LXhsLW41IHtcbiAgICBtYXJnaW4tdG9wOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tci14bC1uNSxcbiAgLm14LXhsLW41IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXhsLW41LFxuICAubXkteGwtbjUge1xuICAgIG1hcmdpbi1ib3R0b206IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLXhsLW41LFxuICAubXgteGwtbjUge1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5tLXhsLWF1dG8ge1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tdC14bC1hdXRvLFxuICAubXkteGwtYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tci14bC1hdXRvLFxuICAubXgteGwtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1iLXhsLWF1dG8sXG4gIC5teS14bC1hdXRvIHtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1sLXhsLWF1dG8sXG4gIC5teC14bC1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG5cbi50ZXh0LW1vbm9zcGFjZSB7XG4gIGZvbnQtZmFtaWx5OiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXdyYXAge1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLnRleHQtdHJ1bmNhdGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC50ZXh0LXNtLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAudGV4dC1zbS1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAudGV4dC1zbS1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGV4dC1tZC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQtbWQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQtbWQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRleHQtbGctbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LWxnLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC50ZXh0LWxnLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudGV4dC14bC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQteGwtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRleHQteGwtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxufVxuXG4udGV4dC1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbn1cblxuLnRleHQtY2FwaXRhbGl6ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LXdlaWdodC1saWdodCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcbn1cblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ZXIge1xuICBmb250LXdlaWdodDogbGlnaHRlciAhaW1wb3J0YW50O1xufVxuXG4uZm9udC13ZWlnaHQtbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xufVxuXG4uZm9udC13ZWlnaHQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbn1cblxuLmZvbnQtd2VpZ2h0LWJvbGRlciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXIgIWltcG9ydGFudDtcbn1cblxuLmZvbnQtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXdoaXRlIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLnRleHQtcHJpbWFyeSB7XG4gIGNvbG9yOiAjMDA3YmZmICFpbXBvcnRhbnQ7XG59XG5cbmEudGV4dC1wcmltYXJ5OmhvdmVyLCBhLnRleHQtcHJpbWFyeTpmb2N1cyB7XG4gIGNvbG9yOiAjMDA1NmIzICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjNmM3NTdkICFpbXBvcnRhbnQ7XG59XG5cbmEudGV4dC1zZWNvbmRhcnk6aG92ZXIsIGEudGV4dC1zZWNvbmRhcnk6Zm9jdXMge1xuICBjb2xvcjogIzQ5NGY1NCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zdWNjZXNzIHtcbiAgY29sb3I6ICMyOGE3NDUgIWltcG9ydGFudDtcbn1cblxuYS50ZXh0LXN1Y2Nlc3M6aG92ZXIsIGEudGV4dC1zdWNjZXNzOmZvY3VzIHtcbiAgY29sb3I6ICMxOTY5MmMgIWltcG9ydGFudDtcbn1cblxuLnRleHQtaW5mbyB7XG4gIGNvbG9yOiAjMTdhMmI4ICFpbXBvcnRhbnQ7XG59XG5cbmEudGV4dC1pbmZvOmhvdmVyLCBhLnRleHQtaW5mbzpmb2N1cyB7XG4gIGNvbG9yOiAjMGY2Njc0ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXdhcm5pbmcge1xuICBjb2xvcjogI2ZmYzEwNyAhaW1wb3J0YW50O1xufVxuXG5hLnRleHQtd2FybmluZzpob3ZlciwgYS50ZXh0LXdhcm5pbmc6Zm9jdXMge1xuICBjb2xvcjogI2JhOGIwMCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1kYW5nZXIge1xuICBjb2xvcjogI2RjMzU0NSAhaW1wb3J0YW50O1xufVxuXG5hLnRleHQtZGFuZ2VyOmhvdmVyLCBhLnRleHQtZGFuZ2VyOmZvY3VzIHtcbiAgY29sb3I6ICNhNzFkMmEgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbGlnaHQge1xuICBjb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50O1xufVxuXG5hLnRleHQtbGlnaHQ6aG92ZXIsIGEudGV4dC1saWdodDpmb2N1cyB7XG4gIGNvbG9yOiAjY2JkM2RhICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWRhcmsge1xuICBjb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50O1xufVxuXG5hLnRleHQtZGFyazpob3ZlciwgYS50ZXh0LWRhcms6Zm9jdXMge1xuICBjb2xvcjogIzEyMTQxNiAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ib2R5IHtcbiAgY29sb3I6ICMyMTI1MjkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbXV0ZWQge1xuICBjb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ibGFjay01MCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtd2hpdGUtNTAge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLnRleHQtZGVjb3JhdGlvbi1ub25lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJyZWFrIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXJlc2V0IHtcbiAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuLnZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgYTpub3QoLmJ0bikge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIGFiYnJbdGl0bGVdOjphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG4gIHByZSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gIH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWRiNWJkO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cbiAgQHBhZ2Uge1xuICAgIHNpemU6IGEzO1xuICB9XG4gIGJvZHkge1xuICAgIG1pbi13aWR0aDogOTkycHggIWltcG9ydGFudDtcbiAgfVxuICAuY29udGFpbmVyIHtcbiAgICBtaW4td2lkdGg6IDk5MnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm5hdmJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYmFkZ2Uge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIH1cbiAgLnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRhYmxlIHRkLFxuICAudGFibGUgdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgfVxuICAudGFibGUtYm9yZGVyZWQgdGgsXG4gIC50YWJsZS1ib3JkZXJlZCB0ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNiAhaW1wb3J0YW50O1xuICB9XG4gIC50YWJsZS1kYXJrIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuICAudGFibGUtZGFyayB0aCxcbiAgLnRhYmxlLWRhcmsgdGQsXG4gIC50YWJsZS1kYXJrIHRoZWFkIHRoLFxuICAudGFibGUtZGFyayB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItY29sb3I6ICNkZWUyZTY7XG4gIH1cbiAgLnRhYmxlIC50aGVhZC1kYXJrIHRoIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItY29sb3I6ICNkZWUyZTY7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9Ym9vdHN0cmFwLmNzcy5tYXAgKi8iLCIvLyBEbyBub3QgZm9yZ2V0IHRvIHVwZGF0ZSBnZXR0aW5nLXN0YXJ0ZWQvdGhlbWluZy5tZCFcbjpyb290IHtcbiAgLy8gQ3VzdG9tIHZhcmlhYmxlIHZhbHVlcyBvbmx5IHN1cHBvcnQgU2Fzc1NjcmlwdCBpbnNpZGUgYCN7fWAuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGJwLCAkdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgIC0tYnJlYWtwb2ludC0jeyRicH06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIC8vIFVzZSBgaW5zcGVjdGAgZm9yIGxpc3RzIHNvIHRoYXQgcXVvdGVkIGl0ZW1zIGtlZXAgdGhlIHF1b3Rlcy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzIzODMjaXNzdWVjb21tZW50LTMzNjM0OTE3MlxuICAtLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktc2Fucy1zZXJpZil9O1xuICAtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTogI3tpbnNwZWN0KCRmb250LWZhbWlseS1tb25vc3BhY2UpfTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGF0LXJ1bGUtbm8tdmVuZG9yLXByZWZpeCwgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuLy8gUmVib290XG4vL1xuLy8gTm9ybWFsaXphdGlvbiBvZiBIVE1MIGVsZW1lbnRzLCBtYW51YWxseSBmb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzIHRvIHJlbW92ZVxuLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXG4vL1xuLy8gTm9ybWFsaXplIGlzIGxpY2Vuc2VkIE1JVC4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG5cbi8vIERvY3VtZW50XG4vL1xuLy8gMS4gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cbi8vIDIuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMuXG4vLyAzLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4vLyA0LiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbi8vIDUuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG59XG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLy8gMlxuICBsaW5lLWhlaWdodDogMS4xNTsgLy8gM1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDRcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKCRibGFjaywgMCk7IC8vIDVcbn1cblxuLy8gU2hpbSBmb3IgXCJuZXdcIiBIVE1MNSBzdHJ1Y3R1cmFsIGVsZW1lbnRzIHRvIGRpc3BsYXkgY29ycmVjdGx5IChJRTEwLCBvbGRlciBicm93c2Vycylcbi8vIFRPRE86IHJlbW92ZSBpbiB2NVxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuYXJ0aWNsZSwgYXNpZGUsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIEJvZHlcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBTZXQgYW4gZXhwbGljaXQgaW5pdGlhbCB0ZXh0LWFsaWduIHZhbHVlIHNvIHRoYXQgd2UgY2FuIGxhdGVyIHVzZVxuLy8gICAgdGhlIGBpbmhlcml0YCB2YWx1ZSBvbiB0aGluZ3MgbGlrZSBgPHRoPmAgZWxlbWVudHMuXG5cbmJvZHkge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gM1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZzsgLy8gMlxufVxuXG4vLyBGdXR1cmUtcHJvb2YgcnVsZTogaW4gYnJvd3NlcnMgdGhhdCBzdXBwb3J0IDpmb2N1cy12aXNpYmxlLCBzdXBwcmVzcyB0aGUgZm9jdXMgb3V0bGluZVxuLy8gb24gZWxlbWVudHMgdGhhdCBwcm9ncmFtbWF0aWNhbGx5IHJlY2VpdmUgZm9jdXMgYnV0IHdvdWxkbid0IG5vcm1hbGx5IHNob3cgYSB2aXNpYmxlXG4vLyBmb2N1cyBvdXRsaW5lLiBJbiBnZW5lcmFsLCB0aGlzIHdvdWxkIG1lYW4gdGhhdCB0aGUgb3V0bGluZSBpcyBvbmx5IGFwcGxpZWQgaWYgdGhlXG4vLyBpbnRlcmFjdGlvbiB0aGF0IGxlZCB0byB0aGUgZWxlbWVudCByZWNlaXZpbmcgcHJvZ3JhbW1hdGljIGZvY3VzIHdhcyBhIGtleWJvYXJkIGludGVyYWN0aW9uLFxuLy8gb3IgdGhlIGJyb3dzZXIgaGFzIHNvbWVob3cgZGV0ZXJtaW5lZCB0aGF0IHRoZSB1c2VyIGlzIHByaW1hcmlseSBhIGtleWJvYXJkIHVzZXIgYW5kL29yXG4vLyB3YW50cyBmb2N1cyBvdXRsaW5lcyB0byBhbHdheXMgYmUgcHJlc2VudGVkLlxuLy9cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvOmZvY3VzLXZpc2libGVcbi8vIGFuZCBodHRwczovL2RldmVsb3Blci5wYWNpZWxsb2dyb3VwLmNvbS9ibG9nLzIwMTgvMDMvZm9jdXMtdmlzaWJsZS1hbmQtYmFja3dhcmRzLWNvbXBhdGliaWxpdHkvXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgaGVpZ2h0OiAwOyAvLyAxXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIER1cGxpY2F0ZSBiZWhhdmlvciB0byB0aGUgZGF0YS0qIGF0dHJpYnV0ZSBmb3Igb3VyIHRvb2x0aXAgcGx1Z2luXG4vLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMy4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gNC4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gNS4gUHJldmVudCB0aGUgdGV4dC1kZWNvcmF0aW9uIHRvIGJlIHNraXBwZWQuXG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7IC8vIDFcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIGN1cnNvcjogaGVscDsgLy8gM1xuICBib3JkZXItYm90dG9tOiAwOyAvLyA0XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gNVxufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG59XG5cbnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDgwJSk7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDc1JSk7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG5zdXAgeyB0b3A6IC0uNWVtOyB9XG5cblxuLy9cbi8vIExpbmtzXG4vL1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZikuXG4vLyBJdCB3b3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBqdXN0IHVzZSBhW2hyZWZdIGluIHByZXZpb3VzIGJsb2NrLCBidXQgdGhhdFxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxuXG5hOm5vdChbaHJlZl0pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuICBvdmVyZmxvdzogYXV0bztcbn1cblxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuZmlndXJlIHtcbiAgLy8gQXBwbHkgYSBjb25zaXN0ZW50IG1hcmdpbiBzdHJhdGVneSAobWF0Y2hlcyBvdXIgdHlwZSBzdHlsZXMpLlxuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vXG4vLyBJbWFnZXMgYW5kIGNvbnRlbnRcbi8vXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG59XG5cbnN2ZyB7XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBTVkcgb3ZlcmZsb3cgYnVnIGluIElFMTAvMTEgaXMgc3RpbGwgcmVxdWlyZWQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI2ODc4XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLy9cbi8vIFRhYmxlc1xuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzXG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG59XG5cbnRoIHtcbiAgLy8gTWF0Y2hlcyBkZWZhdWx0IGA8dGQ+YCBhbGlnbm1lbnQgYnkgaW5oZXJpdGluZyBmcm9tIHRoZSBgPGJvZHk+YCwgb3IgdGhlXG4gIC8vIGNsb3Nlc3QgcGFyZW50IHdpdGggYSBzZXQgYHRleHQtYWxpZ25gLlxuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xufVxuXG5cbi8vXG4vLyBGb3Jtc1xuLy9cblxubGFiZWwge1xuICAvLyBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206ICRsYWJlbC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0MDkzXG5idXR0b24ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIFdvcmsgYXJvdW5kIGEgRmlyZWZveC9JRSBidWcgd2hlcmUgdGhlIHRyYW5zcGFyZW50IGBidXR0b25gIGJhY2tncm91bmRcbi8vIHJlc3VsdHMgaW4gYSBsb3NzIG9mIHRoZSBkZWZhdWx0IGBidXR0b25gIGZvY3VzIHN0eWxlcy5cbi8vXG4vLyBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2UvXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlXG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3hcbn1cblxuLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB3b3JkLXdyYXAgaW4gU2FmYXJpLlxuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDk5MFxuc2VsZWN0IHtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG5cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG59XG5cbi8vIE9waW5pb25hdGVkOiBhZGQgXCJoYW5kXCIgY3Vyc29yIHRvIG5vbi1kaXNhYmxlZCBidXR0b24gZWxlbWVudHMuXG5AaWYgJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9ucyB7XG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVtb3ZlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBmcm9tIEZpcmVmb3gsIGJ1dCBkb24ndCByZXN0b3JlIHRoZSBvdXRsaW5lIGxpa2UgTm9ybWFsaXplLlxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLVxuICBwYWRkaW5nOiAwOyAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtXG59XG5cblxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCBhcHBlYXJhbmNlIG9mIHRlbXBvcmFsIGlucHV0cyB0byBhdm9pZCBhIE1vYmlsZSBTYWZhcmlcbiAgLy8gYnVnIHdoZXJlIHNldHRpbmcgYSBjdXN0b20gbGluZS1oZWlnaHQgcHJldmVudHMgdGV4dCBmcm9tIGJlaW5nIHZlcnRpY2FsbHlcbiAgLy8gY2VudGVyZWQgd2l0aGluIHRoZSBpbnB1dC5cbiAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzk4NDhcbiAgLy8gYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTEyNjZcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBsaXN0Ym94O1xufVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAvLyBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgLy8gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXG4gIC8vIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbiAgLy8gYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuICBtaW4td2lkdGg6IDA7XG4gIC8vIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbi8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBAaW5jbHVkZSBmb250LXNpemUoMS41cmVtKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG59XG5cbi8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAvLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbi8vXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbi8vXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG59XG5cbi8vXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcbi8vXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRVxufVxuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlIChmcm9tIFB1cmVDU1MpLlxuLy8gTmVlZGVkIGZvciBwcm9wZXIgZGlzcGxheSBpbiBJRSAxMC0uXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRncmF5czogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGdyYXlzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gICAgXCIyMDBcIjogJGdyYXktMjAwLFxuICAgIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gICAgXCI1MDBcIjogJGdyYXktNTAwLFxuICAgIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gICAgXCI4MDBcIjogJGdyYXktODAwLFxuICAgIFwiOTAwXCI6ICRncmF5LTkwMFxuICApLFxuICAkZ3JheXNcbik7XG5cbiRibHVlOiAgICAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMyOGE3NDUgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMTdhMmI4ICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gICAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICAgIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICAgIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gICAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICAgIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICAgIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gICAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuICApLFxuICAkY29sb3JzXG4pO1xuXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICAgIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICAgIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gICAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4gICksXG4gICR0aGVtZS1jb2xvcnNcbik7XG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogICAgICA4JSAhZGVmYXVsdDtcblxuLy8gVGhlIHlpcSBsaWdodG5lc3MgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgYmV0d2VlbiAwIGFuZCAyNTUuXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAgMTUwICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiR5aXEtdGV4dC1kYXJrOiAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4keWlxLXRleHQtbGlnaHQ6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIixcIiUzY1wiKSxcbiAgKFwiPlwiLFwiJTNlXCIpLFxuICAoXCIjXCIsXCIlMjNcIiksXG4pICFkZWZhdWx0O1xuXG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeTogICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkLCBubyBsb25nZXIgYWZmZWN0cyBhbnkgY29tcGlsZWQgQ1NTXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnM6ICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6ICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzcGFjZXJzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAwOiAwLFxuICAgIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgICAyOiAoJHNwYWNlciAqIC41KSxcbiAgICAzOiAkc3BhY2VyLFxuICAgIDQ6ICgkc3BhY2VyICogMS41KSxcbiAgICA1OiAoJHNwYWNlciAqIDMpXG4gICksXG4gICRzcGFjZXJzXG4pO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzaXplczogbWFwLW1lcmdlKFxuICAoXG4gICAgMjU6IDI1JSxcbiAgICA1MDogNTAlLFxuICAgIDc1OiA3NSUsXG4gICAgMTAwOiAxMDAlLFxuICAgIGF1dG86IGF1dG9cbiAgKSxcbiAgJHNpemVzXG4pO1xuXG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuLy8gRGFya2VuIHBlcmNlbnRhZ2UgZm9yIGxpbmtzIHdpdGggYC50ZXh0LSpgIGNsYXNzIChlLmcuIGAudGV4dC1zdWNjZXNzYClcbiRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2U6IDE1JSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kZ3JpZC1yb3ctY29sdW1uczogICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiBqb2luKFxuICAoXG4gICAgKDIxIDkpLFxuICAgICgxNiA5KSxcbiAgICAoNCAzKSxcbiAgICAoMSAxKSxcbiAgKSxcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvc1xuKTtcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1jb2xvcjogICAgICAkdGFibGUtZGFyay1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJHRhYmxlLWRhcmstYmcsIDcuNSUpICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4kdGFibGUtYmctbGV2ZWw6ICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItbGV2ZWw6ICAgICAgICAgIC02ICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ0bi13aGl0ZS1zcGFjZTogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gU2V0IHRvIGBub3dyYXBgIHRvIHByZXZlbnQgdGV4dCB3cmFwcGluZ1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybXNcblxuJGxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbSwgJGlucHV0LXBhZGRpbmcteSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtLCAkaW5wdXQtcGFkZGluZy15IC8gMikgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtc20gKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1sZyAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjogICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDogICAgICAuMzEyNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yOiAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZzogIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6ICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yOiAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG5vbmUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2bDIuOTc0IDIuOTlMOCAyLjE5M3onLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc0JyB2aWV3Qm94PScwIDAgNCA0Jz48cGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAxLjc1ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplIC8gMiAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgIHN1YnRyYWN0KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiA0KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSc+PHBhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDogICAgICAgICAgZXNjYXBlLXN2ZygkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3IpIG5vLXJlcGVhdCByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyIC8gJGN1c3RvbS1zZWxlY3QtYmctc2l6ZSAhZGVmYXVsdDsgLy8gVXNlZCBzbyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIChlLmcuLCBhcnJvdyBhbmQgZmVlZGJhY2sgaWNvbilcblxuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0OiBhZGQoMWVtICogLjc1LCAoMiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAqIC43NSkgKyAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgIGNlbnRlciByaWdodCAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9JzAgMCAxMiAxMic+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZFxuICAgICksXG4gICAgXCJpbnZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWRcbiAgICApLFxuICApLFxuICAkZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuKTtcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuXG5cbi8vIE5hdnNcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgJGdyYXktMjAwICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTMwMCAkZ3JheS0zMDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtZGl2aWRlci1jb2xvcjogICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4teTogICAgICAgICAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuXG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpIC8gMiAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIHN1YnRyYWN0KCRkcm9wZG93bi1ib3JkZXItcmFkaXVzLCAkZHJvcGRvd24tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICRuYXYtZGl2aWRlci1tYXJnaW4teSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cblxuLy8gSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBzdWJ0cmFjdCgkY2FyZC1ib3JkZXItcmFkaXVzLCAkY2FyZC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAvIDIgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICBzdWJ0cmFjdCgkcG9wb3Zlci1ib3JkZXItcmFkaXVzLCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIFRvYXN0c1xuXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4xKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjI1cmVtIC43NXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBCYWRnZXNcblxuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgNzUlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGJhZGdlLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgJGJ0bi10cmFuc2l0aW9uICFkZWZhdWx0O1xuJGJhZGdlLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgICAgICAgLjZlbSAhZGVmYXVsdDtcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cbi8vIGN1c3RvbWl6aW5nIHBhZGRpbmcgb3IgZm9udC1zaXplIG9uIGxhYmVscy5cbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbi8vIE1hcmdpbiBiZXR3ZWVuIGVsZW1lbnRzIGluIGZvb3RlciwgbXVzdCBiZSBsb3dlciB0aGFuIG9yIGVxdWFsIHRvIDIgKiAkbW9kYWwtaW5uZXItcGFkZGluZ1xuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIEtlZXAgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcblxuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgaW5zZXQgMCAuMXJlbSAuMXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuXG4vLyBGaWd1cmVzXG5cbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41TDQuMjUgNGwyLjUtMi41TDUuMjUgMHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTIuNzUgMGwtMS41IDEuNUwzLjc1IDRsLTIuNSAyLjVMMi43NSA4bDQtNC00LTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcblxuXG4vLyBTcGlubmVyc1xuXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAuMjVlbSAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gVXRpbGl0aWVzXG5cbiRkaXNwbGF5czogbm9uZSwgaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtcm93LCB0YWJsZS1jZWxsLCBmbGV4LCBpbmxpbmUtZmxleCAhZGVmYXVsdDtcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiAhZGVmYXVsdDtcbiRwb3NpdGlvbnM6IHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5ICFkZWZhdWx0O1xuXG5cbi8vIFByaW50aW5nXG5cbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCBmb250LXJlc2l6aW5nXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmc1xuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgZm9udCBzaXplXG4kcmZzLWJhc2UtZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy1mb250LXNpemUtdW5pdDogcmVtICFkZWZhdWx0O1xuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIGZvbnQtc2l6ZSBzdGFydHMgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbi8vIFJlc2l6ZSBmb250LXNpemUgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBcIm51bWJlclwiIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB0byBmYWxzZVxuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS1mb250LXNpemUgdW5pdFxuJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0OiB1bml0KCRyZnMtYmFzZS1mb250LXNpemUpO1xuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS1mb250LXNpemUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInB4XCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJyZW1cIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6ICRyZnMtYmFzZS1mb250LXNpemUgLyAoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJweFwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJyZW1cIiBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6ICRyZnMtYnJlYWtwb2ludCAvICgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gUmVzcG9uc2l2ZSBmb250LXNpemUgbWl4aW5cbkBtaXhpbiByZnMoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBDYWNoZSAkZnMgdW5pdFxuICAkZnMtdW5pdDogaWYodHlwZS1vZigkZnMpID09IFwibnVtYmVyXCIsIHVuaXQoJGZzKSwgZmFsc2UpO1xuXG4gIC8vIEFkZCAhaW1wb3J0YW50IHN1ZmZpeCBpZiBuZWVkZWRcbiAgJHJmcy1zdWZmaXg6IGlmKCRpbXBvcnRhbnQsIFwiICFpbXBvcnRhbnRcIiwgXCJcIik7XG5cbiAgLy8gSWYgJGZzIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICRmcyBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gIEBpZiBub3QgJGZzLXVuaXQgb3IgJGZzLXVuaXQgIT0gXCJcIiBhbmQgJGZzLXVuaXQgIT0gXCJweFwiIGFuZCAkZnMtdW5pdCAhPSBcInJlbVwiIG9yICRmcyA9PSAwIHtcbiAgICBmb250LXNpemU6ICN7JGZzfSN7JHJmcy1zdWZmaXh9O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBWYXJpYWJsZXMgZm9yIHN0b3Jpbmcgc3RhdGljIGFuZCBmbHVpZCByZXNjYWxpbmdcbiAgICAkcmZzLXN0YXRpYzogbnVsbDtcbiAgICAkcmZzLWZsdWlkOiBudWxsO1xuXG4gICAgLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkZnMgZm9yIGNhbGN1bGF0aW9uc1xuICAgIEBpZiAkZnMtdW5pdCA9PSBcInB4XCIge1xuICAgICAgJGZzOiAkZnMgLyAoJGZzICogMCArIDEpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZnMtdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZvbnQtc2l6ZVxuICAgIEBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnMgLyAkcmZzLXJlbS12YWx1ZX1yZW0jeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSBweCB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnN9cHgjeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yIFwiYCN7JHJmcy1mb250LXNpemUtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtZm9udC1zaXplLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xuICAgIH1cblxuICAgIC8vIE9ubHkgYWRkIG1lZGlhIHF1ZXJ5IGlmIGZvbnQtc2l6ZSBpcyBiaWdnZXIgYXMgdGhlIG1pbmltdW0gZm9udC1zaXplXG4gICAgLy8gSWYgJHJmcy1mYWN0b3IgPT0gMSwgbm8gcmVzY2FsaW5nIHdpbGwgdGFrZSBwbGFjZVxuICAgIEBpZiAkZnMgPiAkcmZzLWJhc2UtZm9udC1zaXplIGFuZCAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB7XG4gICAgICAkbWluLXdpZHRoOiBudWxsO1xuICAgICAgJHZhcmlhYmxlLXVuaXQ6IG51bGw7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtbWluOiAkcmZzLWJhc2UtZm9udC1zaXplICsgKCRmcyAtICRyZnMtYmFzZS1mb250LXNpemUpIC8gJHJmcy1mYWN0b3I7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gZ2l2ZW4gZm9udC1zaXplIGFuZCBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtZGlmZjogJGZzIC0gJGZzLW1pbjtcblxuICAgICAgLy8gQmFzZSBmb250LXNpemUgZm9ybWF0dGluZ1xuICAgICAgLy8gTm8gbmVlZCB0byBjaGVjayBpZiB0aGUgdW5pdCBpcyB2YWxpZCwgYmVjYXVzZSB3ZSBkaWQgdGhhdCBiZWZvcmVcbiAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAjeyRmcy1taW4gLyAkcmZzLXJlbS12YWx1ZX1yZW0sICN7JGZzLW1pbn1weCk7XG5cbiAgICAgIC8vIElmIHR3by1kaW1lbnNpb25hbCwgdXNlIHNtYWxsZXN0IG9mIHNjcmVlbiB3aWR0aCBhbmQgaGVpZ2h0XG4gICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgJHZhcmlhYmxlLXdpZHRoOiAjeyRmcy1kaWZmICogMTAwIC8gJHJmcy1icmVha3BvaW50fSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAvLyBTZXQgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplLlxuICAgICAgJHJmcy1mbHVpZDogY2FsYygjeyRtaW4td2lkdGh9ICsgI3skdmFyaWFibGUtd2lkdGh9KSAjeyRyZnMtc3VmZml4fTtcbiAgICB9XG5cbiAgICAvLyBSZW5kZXJpbmdcbiAgICBAaWYgJHJmcy1mbHVpZCA9PSBudWxsIHtcbiAgICAgIC8vIE9ubHkgcmVuZGVyIHN0YXRpYyBmb250LXNpemUgaWYgbm8gZmx1aWQgZm9udC1zaXplIGlzIGF2YWlsYWJsZVxuICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJG1xLXZhbHVlOiBudWxsO1xuXG4gICAgICAvLyBSRlMgYnJlYWtwb2ludCBmb3JtYXR0aW5nXG4gICAgICBAaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcmVtIHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludCAvICRyZnMtcmVtLXZhbHVlfSN7JHJmcy1icmVha3BvaW50LXVuaXR9O1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgge1xuICAgICAgICAkbXEtdmFsdWU6ICN7JHJmcy1icmVha3BvaW50fXB4O1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJkaXNhYmxlXCIge1xuICAgICAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LFxuICAgICAgICAvLyB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIGZvbnQgc2l6ZVxuICAgICAgICAmLFxuICAgICAgICAuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAmLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSksIChtYXgtaGVpZ2h0OiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBmb250LXNpemUgJiByZXNwb25zaXZlLWZvbnQtc2l6ZSBtaXhpbiB1c2VzIFJGUyB0byByZXNjYWxlIGZvbnQgc2l6ZXNcbkBtaXhpbiBmb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cblxuQG1peGluIHJlc3BvbnNpdmUtZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG4iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlcigpIHtcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cygpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzKCkge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5cbi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbn1cblxuaDEsIC5oMSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTsgfVxuaDIsIC5oMiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTsgfVxuaDMsIC5oMyB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTsgfVxuaDQsIC5oNCB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTsgfVxuaDUsIC5oNSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTsgfVxuaDYsIC5oNiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTsgfVxuXG4ubGVhZCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVhZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4uZGlzcGxheS0xIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5MS1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5MS13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTIge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkyLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkyLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMyB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTMtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTMtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS00IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5NC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5NC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cblxuXG4vL1xuLy8gSG9yaXpvbnRhbCBydWxlc1xuLy9cblxuaHIge1xuICBtYXJnaW4tdG9wOiAkaHItbWFyZ2luLXk7XG4gIG1hcmdpbi1ib3R0b206ICRoci1tYXJnaW4teTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG59XG5cblxuLy9cbi8vIEVtcGhhc2lzXG4vL1xuXG5zbWFsbCxcbi5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc21hbGwtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXJrLWJnO1xufVxuXG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gTWlzY1xuLy9cblxuLy8gQnVpbGRzIG9uIGBhYmJyYFxuLmluaXRpYWxpc20ge1xuICBAaW5jbHVkZSBmb250LXNpemUoOTAlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLWZvbnQtc2l6ZSk7XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplKTtcbiAgY29sb3I6ICRibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwMTRcXDAwQTBcIjsgLy8gZW0gZGFzaCwgbmJzcFxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkKCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi8vXG4vLyBUaGlzIGlzIHB1cnBvc2VmdWxseSBvcHQtaW4gdmlhIGFuIGV4cGxpY2l0IGNsYXNzIHJhdGhlciB0aGFuIGJlaW5nIHRoZSBkZWZhdWx0IGZvciBhbGwgYDxpbWc+YHMuXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxuLy8gYW5kIGFiYW5kb25lZCBpdCBpbiBCb290c3RyYXAgdjMgYmVjYXVzZSBpdCBicmVha3MgbG90cyBvZiB0aGlyZC1wYXJ0eSB3aWRnZXRzIChpbmNsdWRpbmcgR29vZ2xlIE1hcHMpXG4vLyB3aGljaCB3ZXJlbid0IGV4cGVjdGluZyB0aGUgaW1hZ2VzIHdpdGhpbiB0aGVtc2VsdmVzIHRvIGJlIGludm9sdW50YXJpbHkgcmVzaXplZC5cbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcbi5pbWctZmx1aWQge1xuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCR0aHVtYm5haWwtYm94LXNoYWRvdyk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIgLyAyO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmaWd1cmUtY2FwdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQoKSB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7IC8vIFN0YW5kYXJkaXplZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0yeCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW1nLXJldGluYSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG4iLCIvLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMDAlKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoKTtcbiAgfVxuXG4gIC8vIDEwMCUgd2lkZSBjb250YWluZXIgYXQgYWxsIGJyZWFrcG9pbnRzXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGNvbnRhaW5lcnMgdGhhdCBhcmUgMTAwJSB3aWRlIHVudGlsIGEgYnJlYWtwb2ludFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAuY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1mbHVpZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgQGVhY2ggJG5hbWUsICR3aWR0aCBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICAgIEBpZiAoJGNvbnRhaW5lci1tYXgtd2lkdGggPiAkd2lkdGggb3IgJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiB5b3VyIGNvbHVtbnMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG5lZ2F0aXZlIG1hcmdpbiBmcm9tIGRlZmF1bHQgLnJvdywgdGhlbiB0aGUgaG9yaXpvbnRhbCBwYWRkaW5nXG4gIC8vIGZyb20gYWxsIGltbWVkaWF0ZSBjaGlsZHJlbiBjb2x1bW5zICh0byBwcmV2ZW50IHJ1bmF3YXkgc3R5bGUgaW5oZXJpdGFuY2UpLlxuICAubm8tZ3V0dGVycyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgPiAuY29sLFxuICAgID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRndXR0ZXIgLyAyO1xuICBtYXJnaW4tbGVmdDogLSRndXR0ZXIgLyAyO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06ICRzaXplIC8gJGNvbHVtbnM7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuXG4vLyBSb3cgY29sdW1uc1xuLy9cbi8vIFNwZWNpZnkgb24gYSBwYXJlbnQgZWxlbWVudChlLmcuLCAucm93KSB0byBmb3JjZSBpbW1lZGlhdGUgY2hpbGRyZW4gaW50byBOTlxuLy8gbnVtYmVyb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICAmID4gKiB7XG4gICAgZmxleDogMCAwIDEwMCUgLyAkY291bnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlIC8gJGNvdW50O1xuICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWdyaWQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICB9XG4gICAgfVxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1yb3ctY29sdW1ucyB7XG4gICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgcm93LWNvbHMoJGkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBjb2xvcjogJHRhYmxlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7IC8vIFJlc2V0IGZvciBuZXN0aW5nIHdpdGhpbiBwYXJlbnRzIHdpdGggYGJhY2tncm91bmQtY29sb3JgLlxuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtYm9yZGVybGVzcyB7XG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgsXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYWNjZW50LWJnO1xuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICB0Ym9keSB0ciB7XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYm9yZGVyLWxldmVsKSk7XG59XG5cbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZSwgJHRhYmxlLWFjdGl2ZS1iZyk7XG5cblxuLy8gRGFyayBzdHlsZXNcbi8vXG4vLyBTYW1lIHRhYmxlIG1hcmt1cCwgYnV0IGludmVydGVkIGNvbG9yIHNjaGVtZTogZGFyayBiYWNrZ3JvdW5kIGFuZCBsaWdodCB0ZXh0LlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLnRhYmxlIHtcbiAgLnRoZWFkLWRhcmsge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLnRoZWFkLWxpZ2h0IHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhlYWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWRhcmsge1xuICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJi50YWJsZS1zdHJpcGVkIHtcbiAgICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYWNjZW50LWJnO1xuICAgIH1cbiAgfVxuXG4gICYudGFibGUtaG92ZXIge1xuICAgIHRib2R5IHRyIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBjb2xvcjogJHRhYmxlLWRhcmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAudGFibGUtcmVzcG9uc2l2ZS0qYCBjbGFzc2VzIGZvciBjb25maWd1cmluZyB0aGUgc2NyZWVuXG4vLyBzaXplIG9mIHdoZXJlIHlvdXIgdGFibGUgd2lsbCBvdmVyZmxvdy5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgICAgIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlciBvbiBob3Jpem9udGFsIHNjcm9sbCBkdWUgdG8gdXNlIG9mIGBkaXNwbGF5OiBibG9jaztgXG4gICAgICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcjogbnVsbCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaWYgJGJvcmRlciAhPSBudWxsIHtcbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1YXRpbmcgc291cmNlIGNvZGUgYWNyb3NzIG91ciB2YXJpYWJsZXMsIG1hcHMsIGFuZCBtaXhpbnMuXG5cbi8vIEFzY2VuZGluZ1xuLy8gVXNlZCB0byBldmFsdWF0ZSBTYXNzIG1hcHMgbGlrZSBvdXIgZ3JpZCBicmVha3BvaW50cy5cbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcbiAgJHByZXYta2V5OiBudWxsO1xuICAkcHJldi1udW06IG51bGw7XG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XG4gICAgQGlmICRwcmV2LW51bSA9PSBudWxsIG9yIHVuaXQoJG51bSkgPT0gXCIlXCIgb3IgdW5pdCgkcHJldi1udW0pID09IFwiJVwiIHtcbiAgICAgIC8vIERvIG5vdGhpbmdcbiAgICB9IEBlbHNlIGlmIG5vdCBjb21wYXJhYmxlKCRwcmV2LW51bSwgJG51bSkge1xuICAgICAgQHdhcm4gXCJQb3RlbnRpYWxseSBpbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aG9zZSB1bml0IG1ha2VzIGl0IGluY29tcGFyYWJsZSB0byAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9IEBlbHNlIGlmICRwcmV2LW51bSA+PSAkbnVtIHtcbiAgICAgIEB3YXJuIFwiSW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hpY2ggaXNuJ3QgZ3JlYXRlciB0aGFuICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH1cbiAgICAkcHJldi1rZXk6ICRrZXk7XG4gICAgJHByZXYtbnVtOiAkbnVtO1xuICB9XG59XG5cbi8vIFN0YXJ0cyBhdCB6ZXJvXG4vLyBVc2VkIHRvIGVuc3VyZSB0aGUgbWluLXdpZHRoIG9mIHRoZSBsb3dlc3QgYnJlYWtwb2ludCBzdGFydHMgYXQgMC5cbkBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXAsICRtYXAtbmFtZTogXCIkZ3JpZC1icmVha3BvaW50c1wiKSB7XG4gICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICRmaXJzdC12YWx1ZTogbnRoKCR2YWx1ZXMsIDEpO1xuICBAaWYgJGZpcnN0LXZhbHVlICE9IDAge1xuICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiAjeyRtYXAtbmFtZX0gbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgfVxufVxuXG4vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLyBVc2VkIG9uIG91ciBTVkcgaWNvbiBiYWNrZ3JvdW5kcyBmb3IgY3VzdG9tIGZvcm1zLlxuLy9cbi8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gU2VlIGh0dHBzOi8vY29kZXBlbi5pby9rZXZpbndlYmVyL3Blbi9kWFdvUndcbkBmdW5jdGlvbiBlc2NhcGUtc3ZnKCRzdHJpbmcpIHtcbiAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcImRhdGE6aW1hZ2Uvc3ZnK3htbFwiKSB7XG4gICAgQGVhY2ggJGNoYXIsICRlbmNvZGVkIGluICRlc2NhcGVkLWNoYXJhY3RlcnMge1xuICAgICAgJHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgJGNoYXIsICRlbmNvZGVkKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG5AZnVuY3Rpb24gY29sb3IteWlxKCRjb2xvciwgJGRhcms6ICR5aXEtdGV4dC1kYXJrLCAkbGlnaHQ6ICR5aXEtdGV4dC1saWdodCkge1xuICAkcjogcmVkKCRjb2xvcik7XG4gICRnOiBncmVlbigkY29sb3IpO1xuICAkYjogYmx1ZSgkY29sb3IpO1xuXG4gICR5aXE6ICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcblxuICBAaWYgKCR5aXEgPj0gJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJGRhcms7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJGxpZ2h0O1xuICB9XG59XG5cbi8vIFJldHJpZXZlIGNvbG9yIFNhc3MgbWFwc1xuQGZ1bmN0aW9uIGNvbG9yKCRrZXk6IFwiYmx1ZVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yKCRrZXk6IFwicHJpbWFyeVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIGdyYXkoJGtleTogXCIxMDBcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGdyYXlzLCAka2V5KTtcbn1cblxuLy8gUmVxdWVzdCBhIHRoZW1lIGNvbG9yIGxldmVsXG5AZnVuY3Rpb24gdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLW5hbWU6IFwicHJpbWFyeVwiLCAkbGV2ZWw6IDApIHtcbiAgJGNvbG9yOiB0aGVtZS1jb2xvcigkY29sb3ItbmFtZSk7XG4gICRjb2xvci1iYXNlOiBpZigkbGV2ZWwgPiAwLCAkYmxhY2ssICR3aGl0ZSk7XG4gICRsZXZlbDogYWJzKCRsZXZlbCk7XG5cbiAgQHJldHVybiBtaXgoJGNvbG9yLWJhc2UsICRjb2xvciwgJGxldmVsICogJHRoZW1lLWNvbG9yLWludGVydmFsKTtcbn1cblxuLy8gUmV0dXJuIHZhbGlkIGNhbGNcbkBmdW5jdGlvbiBhZGQoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSArICR2YWx1ZTI7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gKyAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgKyBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIHN1YnRyYWN0KCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIGFuZCAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gLSR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgLSAkdmFsdWUyO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9IC0gI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiIC0gXCIpICsgJHZhbHVlMik7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIFRleHR1YWwgZm9ybSBjb250cm9sc1xuLy9cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMsIDApO1xuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblxuICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHNlbGVjdCBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRpbnB1dC1jb2xvcjtcbiAgfVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjYuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJjpkaXNhYmxlZCxcbiAgJltyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICY6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gICAgLy8gU3VwcHJlc3MgdGhlIG5lc3RlZCBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLCBhcyBpdCBsb29rcyBiYWQgYW5kIGNhbm5vdCBiZSBtYWRlIHRvXG4gICAgLy8gbWF0Y2ggdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIG5hdGl2ZSB3aWRnZXQuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTkzOTguXG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIH1cbn1cblxuLy8gTWFrZSBmaWxlIGlucHV0cyBiZXR0ZXIgbWF0Y2ggdGV4dCBpbnB1dHMgYnkgZm9yY2luZyB0aGVtIHRvIG5ldyBsaW5lcy5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy9cbi8vIExhYmVsc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPi88bGVnZW5kPmAgZGVmYXVsdFxuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG59XG5cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1wbGFpbnRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmW3NpemVdLFxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xufVxuXG5cbi8vIEZvcm0gZ3JpZFxuLy9cbi8vIFNwZWNpYWwgcmVwbGFjZW1lbnQgZm9yIG91ciBncmlkIHN5c3RlbSdzIGAucm93YCBmb3IgdGlnaHRlciBmb3JtIGxheW91dHMuXG5cbi5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcblxuICA+IC5jb2wsXG4gID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCBmb3Igd29ya2Fyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdIH4gLmZvcm0tY2hlY2stbGFiZWwsXG4gICY6ZGlzYWJsZWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgYm90dG9tIG1hcmdpblxufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBiYXNlIC5mb3JtLWNoZWNrXG4gIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14O1xuXG4gIC8vIFVuZG8gLmZvcm0tY2hlY2staW5wdXQgZGVmYXVsdHMgYW5kIGFkZCBzb21lIGBtYXJnaW4tcmlnaHRgLlxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG4vL1xuLy8gUHJvdmlkZSBmZWVkYmFjayB0byB1c2VycyB3aGVuIGZvcm0gZmllbGQgdmFsdWVzIGFyZSB2YWxpZCBvciBpbnZhbGlkLiBXb3Jrc1xuLy8gcHJpbWFyaWx5IGZvciBjbGllbnQtc2lkZSB2YWxpZGF0aW9uIHZpYSBzY29wZWQgYDppbnZhbGlkYCBhbmQgYDp2YWxpZGBcbi8vIHBzZXVkby1jbGFzc2VzIGJ1dCBhbHNvIGluY2x1ZGVzIGAuaXMtaW52YWxpZGAgYW5kIGAuaXMtdmFsaWRgIGNsYXNzZXMgZm9yXG4vLyBzZXJ2ZXIgc2lkZSB2YWxpZGF0aW9uLlxuXG5AZWFjaCAkc3RhdGUsICRkYXRhIGluICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzIHtcbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgbWFwLWdldCgkZGF0YSwgY29sb3IpLCBtYXAtZ2V0KCRkYXRhLCBpY29uKSk7XG59XG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIFByZXZlbnQgc2hvcnRlciBlbGVtZW50cyBmcm9tIGdyb3dpbmcgdG8gc2FtZSBoZWlnaHQgYXMgb3RoZXJzIChlLmcuLCBzbWFsbCBidXR0b25zIGdyb3dpbmcgdG8gbm9ybWFsIHNpemVkIGJ1dHRvbiBoZWlnaHQpXG5cbiAgLy8gQmVjYXVzZSB3ZSB1c2UgZmxleCwgdGhlIGluaXRpYWwgc2l6aW5nIG9mIGNoZWNrYm94ZXMgaXMgY29sbGFwc2VkIGFuZFxuICAvLyBkb2Vzbid0IG9jY3VweSB0aGUgZnVsbC13aWR0aCAod2hpY2ggaXMgd2hhdCB3ZSB3YW50IGZvciB4cyBncmlkIHRpZXIpLFxuICAvLyBzbyB3ZSBmb3JjZSB0aGF0IGhlcmUuXG4gIC5mb3JtLWNoZWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIEFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwLFxuICAgIC5jdXN0b20tc2VsZWN0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSB7XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZvcm0tY29udHJvbC1mb2N1cygpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cbi8vIFRoaXMgbWl4aW4gdXNlcyBhbiBgaWYoKWAgdGVjaG5pcXVlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBEYXJ0IFNhc3Ncbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8xODczI2lzc3VlY29tbWVudC0xNTIyOTM3MjUgZm9yIG1vcmUgZGV0YWlsc1xuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgQGlmICgkc3RhdGUgPT0gXCJ2YWxpZFwiIG9yICRzdGF0ZSA9PSBcImludmFsaWRcIikge1xuICAgIC53YXMtdmFsaWRhdGVkICN7aWYoJiwgXCImXCIsIFwiXCIpfTojeyRzdGF0ZX0sXG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IsICRpY29uKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stZm9udC1zaXplKTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQsIGVzY2FwZS1zdmcoJGljb24pICRjdXN0b20tc2VsZWN0LWJnIG5vLXJlcGVhdCAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uIC8gJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAxMCUpO1xuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKGxpZ2h0ZW4oJGNvbG9yLCAxMCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gR3JhZGllbnRzXG5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkYnRuLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGJ0bi1mb250LXdlaWdodDtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiAkYnRuLXdoaXRlLXNwYWNlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IGlmKCRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMsIHBvaW50ZXIsIG51bGwpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogJGJ0bi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LCAkYnRuLXBhZGRpbmcteCwgJGJ0bi1mb250LXNpemUsICRidG4tbGluZS1oZWlnaHQsICRidG4tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogJGJ0bi1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1mb2N1cy1ib3gtc2hhZG93LCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcbmEuYnRuLmRpc2FibGVkLFxuZmllbGRzZXQ6ZGlzYWJsZWQgYS5idG4ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcbi8vXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUpO1xuICB9XG59XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLW91dGxpbmUtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGluayBidXR0b25zXG4vL1xuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyBObyBuZWVkIGZvciBhbiBhY3RpdmUgc3RhdGUgaGVyZVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRidG4tZm9udC1zaXplLWxnLCAkYnRuLWxpbmUtaGVpZ2h0LWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uYnRuLXNtIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkYnRuLWZvbnQtc2l6ZS1zbSwgJGJ0bi1saW5lLWhlaWdodC1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuXG4vL1xuLy8gQmxvY2sgYnV0dG9uXG4vL1xuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbiAgKyAuYnRuLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAkYnRuLWJsb2NrLXNwYWNpbmcteTtcbiAgfVxufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgZm9yIHRoZSBwcmVzc2VkL2FjdGl2ZSBzdGF0ZVxuICAgIH1cbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6IGNvbG9yLXlpcSgkY29sb3IpLCAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvciwgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAvLyBNYW51YWxseSBkZWNsYXJlIHRvIHByb3ZpZGUgYW4gb3ZlcnJpZGUgdG8gdGhlIGJyb3dzZXIgZGVmYXVsdFxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLCAwKTtcbn1cbiIsIi5mYWRlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmOm5vdCguc2hvdykge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xufVxuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3ByaWdodCxcbi5kcm9wZG93bixcbi5kcm9wbGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgQGluY2x1ZGUgY2FyZXQoKTtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luOiAkZHJvcGRvd24tc3BhY2VyIDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBAaW5jbHVkZSBmb250LXNpemUoJGRyb3Bkb3duLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZHJvcGRvd24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXItd2lkdGggc29saWQgJGRyb3Bkb3duLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZHJvcGRvd24tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGRyb3Bkb3duLWJveC1zaGFkb3cpO1xufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1sZWZ0IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1yaWdodCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LlxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcbiAgfVxufVxuXG4uZHJvcHJpZ2h0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChyaWdodCk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wbGVmdCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KGxlZnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2hlbiBlbmFibGVkIFBvcHBlci5qcywgcmVzZXQgYmFzaWMgZHJvcGRvd24gcG9zaXRpb25cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uZHJvcGRvd24tbWVudSB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBib3R0b206IGF1dG87XG4gIH1cbn1cblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgbmF2LWRpdmlkZXIoJGRyb3Bkb3duLWRpdmlkZXItYmcsICRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15LCB0cnVlKTtcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcblxuICAvLyBQcmV2ZW50IGRyb3Bkb3duIG92ZXJmbG93IGlmIHRoZXJlJ3Mgbm8gcGFkZGluZ1xuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjc3MDNcbiAgQGlmICRkcm9wZG93bi1wYWRkaW5nLXkgPT0gMCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWhvdmVyLWJnKTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXNtKTtcbiAgY29sb3I6ICRkcm9wZG93bi1oZWFkZXItY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gRHJvcGRvd24gdGV4dFxuLmRyb3Bkb3duLWl0ZW0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG59XG4iLCJAbWl4aW4gY2FyZXQtZG93bigpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwKCkge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtcmlnaHQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1sZWZ0KCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldCgkZGlyZWN0aW9uOiBkb3duKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cCgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1sZWZ0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICRuYXYtZGl2aWRlci1jb2xvciwgJG1hcmdpbi15OiAkbmF2LWRpdmlkZXItbWFyZ2luLXksICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICRtYXJnaW4teSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYG5hdi1kaXZpZGVyKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcblxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgIC8vIEJyaW5nIHRoZSBob3ZlciwgZm9jdXNlZCwgYW5kIFwiYWN0aXZlXCIgYnV0dG9ucyB0byB0aGUgZnJvbnQgdG8gb3ZlcmxheVxuICAgIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3ByaWdodCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGxlZnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG4uYnRuLWdyb3VwLXRvZ2dsZSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgdmFsdWVcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuY3VzdG9tLXNlbGVjdCxcbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGZvY3VzIHN0YXRlJ3Mgei1pbmRleFxuICAgIGZsZXg6IDEgMSAwJTtcbiAgICBtaW4td2lkdGg6IDA7IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM2MjQ3MTQwL3doeS1kb250LWZsZXgtaXRlbXMtc2hyaW5rLXBhc3QtY29udGVudC1zaXplXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICsgLmZvcm0tY29udHJvbCxcbiAgICArIC5jdXN0b20tc2VsZWN0LFxuICAgICsgLmN1c3RvbS1maWxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBmb3JtIGNvbnRyb2wgdG8gdGhlIHRvcCBvZiBzdXJyb3VuZGluZyBlbGVtZW50c1xuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gID4gLmN1c3RvbS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjdXN0b20gZmlsZSBpbnB1dCBhYm92ZSB0aGUgbGFiZWxcbiAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIHtcbiAgICB6LWluZGV4OiA0O1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5jdXN0b20tc2VsZWN0IHtcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgeyBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApOyB9XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG5cbiAgLy8gQ3VzdG9tIGZpbGUgaW5wdXRzIGhhdmUgbW9yZSBjb21wbGV4IG1hcmt1cCwgdGh1cyByZXF1aXJpbmcgZGlmZmVyZW50XG4gIC8vIGJvcmRlci1yYWRpdXMgb3ZlcnJpZGVzLlxuICA+IC5jdXN0b20tZmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7IEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7IH1cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCB7IEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTsgfVxuICB9XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kXG4vL1xuLy8gV2hpbGUgaXQgcmVxdWlyZXMgb25lIGV4dHJhIGxheWVyIG9mIEhUTUwgZm9yIGVhY2gsIGRlZGljYXRlZCBwcmVwZW5kIGFuZFxuLy8gYXBwZW5kIGVsZW1lbnRzIGFsbG93IHVzIHRvIDEpIGJlIGxlc3MgY2xldmVyLCAyKSBzaW1wbGlmeSBvdXIgc2VsZWN0b3JzLCBhbmRcbi8vIDMpIHN1cHBvcnQgSFRNTDUgZm9ybSB2YWxpZGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCxcbi5pbnB1dC1ncm91cC1hcHBlbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8vIEVuc3VyZSBidXR0b25zIGFyZSBhbHdheXMgYWJvdmUgaW5wdXRzIGZvciBtb3JlIHZpc3VhbGx5IHBsZWFzaW5nIGJvcmRlcnMuXG4gIC8vIFRoaXMgaXNuJ3QgbmVlZGVkIGZvciBgLmlucHV0LWdyb3VwLXRleHRgIHNpbmNlIGl0IHNoYXJlcyB0aGUgc2FtZSBib3JkZXItY29sb3JcbiAgLy8gYXMgb3VyIGlucHV0cy5cbiAgLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG5cbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQgeyBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHsgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG5cblxuLy8gVGV4dHVhbCBhZGRvbnNcbi8vXG4vLyBTZXJ2ZXMgYXMgYSBjYXRjaC1hbGwgZWxlbWVudCBmb3IgYW55IHRleHQgb3IgcmFkaW8vY2hlY2tib3ggaW5wdXQgeW91IHdpc2hcbi8vIHRvIHByZXBlbmQgb3IgYXBwZW5kIHRvIGFuIGlucHV0LlxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gQWxsb3cgdXNlIG9mIDxsYWJlbD4gZWxlbWVudHMgYnkgb3ZlcnJpZGluZyBvdXIgZGVmYXVsdCBtYXJnaW4tYm90dG9tXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmQgcm91bmRlZCBjb3JuZXJzXG4vL1xuLy8gVGhlc2UgcnVsZXNldHMgbXVzdCBjb21lIGFmdGVyIHRoZSBzaXppbmcgb25lcyB0byBwcm9wZXJseSBvdmVycmlkZSBzbSBhbmQgbGdcbi8vIGJvcmRlci1yYWRpdXMgdmFsdWVzIHdoZW4gZXh0ZW5kaW5nLiBUaGV5J3JlIG1vcmUgc3BlY2lmaWMgdGhhbiB3ZSdkIGxpa2Vcbi8vIHdpdGggdGhlIGAuaW5wdXQtZ3JvdXAgPmAgcGFydCwgYnV0IHdpdGhvdXQgaXQsIHdlIGNhbm5vdCBvdmVycmlkZSB0aGUgc2l6aW5nLlxuXG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG59XG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG4iLCIvLyBFbWJlZGRlZCBpY29ucyBmcm9tIE9wZW4gSWNvbmljLlxuLy8gUmVsZWFzZWQgdW5kZXIgTUlUIGFuZCBjb3B5cmlnaHQgMjAxNCBXYXlidXJ5LlxuLy8gaHR0cHM6Ly91c2VpY29uaWMuY29tL29wZW5cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBCYXNlIGNsYXNzIHRha2VzIGNhcmUgb2YgYWxsIHRoZSBrZXkgYmVoYXZpb3JhbCBhc3BlY3RzLlxuXG4uY3VzdG9tLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1yaWdodDogJGN1c3RvbS1jb250cm9sLXNwYWNlci14O1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xOyAvLyBQdXQgdGhlIGlucHV0IGJlaGluZCB0aGUgbGFiZWwgc28gaXQgZG9lc24ndCBvdmVybGF5IHRleHRcbiAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgaGVpZ2h0OiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgb3BhY2l0eTogMDtcblxuICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gdGhlIG1peGluIGlzIG5vdCB1c2VkIGhlcmUgdG8gbWFrZSBzdXJlIHRoZXJlIGlzIGZlZWRiYWNrXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGNvbnRyb2wgaW5kaWNhdG9yc1xuLy9cbi8vIEJ1aWxkIHRoZSBjdXN0b20gY29udHJvbHMgb3V0IG9mIHBzZXVkby1lbGVtZW50cy5cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjdXJzb3I6ICRjdXN0b20tY29udHJvbC1jdXJzb3I7XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgIGJvcmRlcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3Igc29saWQgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gRm9yZWdyb3VuZCAoaWNvbilcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICAgIGxlZnQ6IC0oJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCA1MCUgLyAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZX07XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIGNoZWNrYm94ZXMuXG5cbi5jdXN0b20tY2hlY2tib3gge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yO1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdyk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gICAgJjppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSYWRpb3Ncbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgcmFkaW9zLlxuXG4uY3VzdG9tLXJhZGlvIHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBzd2l0Y2hlc1xuLy9cbi8vIFR3ZWFrIGEgZmV3IHRoaW5ncyBmb3Igc3dpdGNoZXNcblxuLmN1c3RvbS1zd2l0Y2gge1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcblxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtKCRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcik7XG4gICAgICB3aWR0aDogJGN1c3RvbS1zd2l0Y2gtd2lkdGg7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiBhZGQoKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDIsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICBsZWZ0OiBhZGQoLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCAkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b20tc3dpdGNoLXdpZHRoIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwczovL3ByaW1lci5naXRodWIuaW8vLlxuLy9cblxuLmN1c3RvbS1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1jb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmcgJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAkY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXMsIDApO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3cpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93LCAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG5cbiAgICAmOjotbXMtdmFsdWUge1xuICAgICAgLy8gRm9yIHZpc3VhbCBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIHBsYXRmb3Jtcy9icm93c2VycyxcbiAgICAgIC8vIHN1cHByZXNzIHRoZSBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZS5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgICB9XG4gIH1cblxuICAmW211bHRpcGxlXSxcbiAgJltzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSGlkZXMgdGhlIGRlZmF1bHQgY2FyZXQgaW4gSUUxMVxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIH1cbn1cblxuLmN1c3RvbS1zZWxlY3Qtc20ge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTtcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc20pO1xufVxuXG4uY3VzdG9tLXNlbGVjdC1sZyB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZyk7XG59XG5cblxuLy8gRmlsZVxuLy9cbi8vIEN1c3RvbSBmaWxlIGlucHV0LlxuXG4uY3VzdG9tLWZpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCB0byB3b3JrIGFyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdIH4gLmN1c3RvbS1maWxlLWxhYmVsLFxuICAmOmRpc2FibGVkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc7XG4gIH1cblxuICBAZWFjaCAkbGFuZywgJHZhbHVlIGluICRjdXN0b20tZmlsZS10ZXh0IHtcbiAgICAmOmxhbmcoI3skbGFuZ30pIH4gLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBjb250ZW50OiAkdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgfiAuY3VzdG9tLWZpbGUtbGFiZWxbZGF0YS1icm93c2VdOjphZnRlciB7XG4gICAgY29udGVudDogYXR0cihkYXRhLWJyb3dzZSk7XG4gIH1cbn1cblxuLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tZmlsZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tZmlsZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tZmlsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWJnO1xuICBib3JkZXI6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1maWxlLWJveC1zaGFkb3cpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjtcbiAgICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gICAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBjb250ZW50OiBcIkJyb3dzZVwiO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tZmlsZS1idXR0b24tYmcpO1xuICAgIGJvcmRlci1sZWZ0OiBpbmhlcml0O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAwKTtcbiAgfVxufVxuXG4vLyBSYW5nZVxuLy9cbi8vIFN0eWxlIHJhbmdlIGlucHV0cyB0aGUgc2FtZSBhY3Jvc3MgYnJvd3NlcnMuIFZlbmRvci1zcGVjaWZpYyBydWxlcyBmb3IgcHNldWRvXG4vLyBlbGVtZW50cyBjYW5ub3QgYmUgbWl4ZWQuIEFzIHN1Y2gsIHRoZXJlIGFyZSBubyBzaGFyZWQgc3R5bGVzIGZvciBmb2N1cyBvclxuLy8gYWN0aXZlIHN0YXRlcyBvbiBwcmVmaXhlZCBzZWxlY3RvcnMuXG5cbi5jdXN0b20tcmFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhZGQoJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQsICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aCAqIDIpO1xuICBwYWRkaW5nOiAwOyAvLyBOZWVkIHRvIHJlc2V0IHBhZGRpbmdcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIC8vIFBzZXVkby1lbGVtZW50cyBtdXN0IGJlIHNwbGl0IGFjcm9zcyBtdWx0aXBsZSBydWxlc2V0cyB0byBoYXZlIGFuIGVmZmVjdC5cbiAgICAvLyBObyBib3gtc2hhZG93KCkgbWl4aW4gZm9yIGZvY3VzIGFjY2Vzc2liaWxpdHkuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbW96LXJhbmdlLXRodW1iICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tcy10aHVtYiAgICAgICAgICAgIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gIH1cblxuICAmOjotbW96LWZvY3VzLW91dGVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAoJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQgLSAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCkgLyAyOyAvLyBXZWJraXQgc3BlY2lmaWNcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyAvLyBXaHk/XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGaXJlZm94IHNwZWNpZmljP1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbXMtdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMDsgLy8gRWRnZSBzcGVjaWZpY1xuICAgIG1hcmdpbi1yaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOyAvLyBXb3JrYXJvdW5kIHRoYXQgb3ZlcmZsb3dlZCBib3gtc2hhZG93IGlzIGhpZGRlbi5cbiAgICBtYXJnaW4tbGVmdDogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOyAgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tcy10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQgLyAyO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IC8vIGFyYml0cmFyeT9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4uY3VzdG9tLWZpbGUtbGFiZWwsXG4uY3VzdG9tLXNlbGVjdCB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcywgYDx1bD5gcyBvciBgPG9sPmBzLlxuXG4ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZy15ICRuYXYtbGluay1wYWRkaW5nLXg7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gIC5uYXYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAubmF2LWxpbmsge1xuICAgIGJvcmRlcjogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIENvbnRlbnRzXG4vL1xuLy8gTmF2YmFyXG4vLyBOYXZiYXIgYnJhbmRcbi8vIE5hdmJhciBuYXZcbi8vIE5hdmJhciB0ZXh0XG4vLyBOYXZiYXIgZGl2aWRlclxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vIE5hdmJhciBwb3NpdGlvblxuLy8gTmF2YmFyIHRoZW1lc1xuXG5cbi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVydGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5jb250YWluZXIsXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci1icmFuZC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW50YXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkgJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItdG9nZ2xlci1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG5cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLm5hdmJhci1leHBhbmQtKmAgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciBjb25maWd1cmluZ1xuLy8gd2hlcmUgeW91ciBuYXZiYXIgY29sbGFwc2VzLlxuLm5hdmJhci1leHBhbmQge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJHNpemUsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9yIG5lc3RpbmcgY29udGFpbmVycywgaGF2ZSB0byByZWRlY2xhcmUgZm9yIGFsaWdubWVudCBwdXJwb3Nlc1xuICAgICAgICAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHNpemUsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgICAgICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAvLyBDaGFuZ2VzIGZsZXgtYmFzZXMgdG8gYXV0byBiZWNhdXNlIG9mIGFuIElFMTAgYnVnXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi8vIERhcmsgbGlua3MgYWdhaW5zdCBhIGxpZ2h0IGJhY2tncm91bmRcbi5uYXZiYXItbGlnaHQge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKTtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi5uYXZiYXItZGFyayB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiAkY2FyZC1oZWlnaHQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBpbWFnZSBzaXplIGJ1ZyBpbiBJRVxuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI4ODU1XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG4gIGNvbG9yOiAkY2FyZC1jb2xvcjtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiAtJGNhcmQtc3BhY2VyLXkgLyAyO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rIHtcbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgKyAuY2FyZC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogJGNhcmQtc3BhY2VyLXg7XG4gIH1cbn1cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZXMgdGhlIGRlZmF1bHQgbWFyZ2luLWJvdHRvbSBvZiA8aE4+XG4gIGNvbG9yOiAkY2FyZC1jYXAtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAwIDApO1xuICB9XG5cbiAgKyAubGlzdC1ncm91cCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG4gIG1hcmdpbi1ib3R0b206IC0kY2FyZC1zcGFjZXIteTtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogLSRjYXJkLXNwYWNlci14IC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG59XG5cbi8vIENhcmQgaW1hZ2Vcbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6ICRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3AsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgZmxleC1zaHJpbms6IDA7IC8vIEZvciBJRTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yOTM5NlxuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBDYXJkIGRlY2tcblxuLmNhcmQtZGVjayB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtZGVjay1tYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcblxuICAgIC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBkZWZhdWx0XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZ3JvdXAtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gICAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgICA+IC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgKyAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIHJvdW5kZWQgY29ybmVyc1xuICAgICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDb2x1bW5zXG4vL1xuXG4uY2FyZC1jb2x1bW5zIHtcbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWNvbHVtbnMtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGNvbHVtbi1jb3VudDogJGNhcmQtY29sdW1ucy1jb3VudDtcbiAgICBjb2x1bW4tZ2FwOiAkY2FyZC1jb2x1bW5zLWdhcDtcbiAgICBvcnBoYW5zOiAxO1xuICAgIHdpZG93czogMTtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gRG9uJ3QgbGV0IHRoZW0gdmVydGljYWxseSBzcGFuIG11bHRpcGxlIGNvbHVtbnNcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBEb24ndCBsZXQgdGhlaXIgd2lkdGggY2hhbmdlXG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIEFjY29yZGlvblxuLy9cblxuLmFjY29yZGlvbiB7XG4gID4gLmNhcmQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICAgIH1cblxuICAgID4gLmNhcmQtaGVhZGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuIiwiLmJyZWFkY3J1bWIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6ICRicmVhZGNydW1iLXBhZGRpbmcteSAkYnJlYWRjcnVtYi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRicmVhZGNydW1iLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYnJlYWRjcnVtYi1mb250LXNpemUpO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJlYWRjcnVtYi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIFN1cHByZXNzIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3IgaW4gbW9kZXJuIGJyb3dzZXJzXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjtcbiAgICAgIGNvbnRlbnQ6IGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlcik7XG4gICAgfVxuICB9XG5cbiAgLy8gSUU5LTExIGhhY2sgdG8gcHJvcGVybHkgaGFuZGxlIGh5cGVybGluayB1bmRlcmxpbmVzIGZvciBicmVhZGNydW1icyBidWlsdFxuICAvLyB3aXRob3V0IGA8dWw+YHMuIFRoZSBgOjpiZWZvcmVgIHBzZXVkby1lbGVtZW50IGdlbmVyYXRlcyBhbiBlbGVtZW50XG4gIC8vICp3aXRoaW4qIHRoZSAuYnJlYWRjcnVtYi1pdGVtIGFuZCB0aGVyZWJ5IGluaGVyaXRzIHRoZSBgdGV4dC1kZWNvcmF0aW9uYC5cbiAgLy9cbiAgLy8gVG8gdHJpY2sgSUUgaW50byBzdXBwcmVzc2luZyB0aGUgdW5kZXJsaW5lLCB3ZSBnaXZlIHRoZSBwc2V1ZG8tZWxlbWVudCBhblxuICAvLyB1bmRlcmxpbmUgYW5kIHRoZW4gaW1tZWRpYXRlbHkgcmVtb3ZlIGl0LlxuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yO1xuICB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xufVxuXG4ucGFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZ2luYXRpb24tcGFkZGluZy15ICRwYWdpbmF0aW9uLXBhZGRpbmcteDtcbiAgbWFyZ2luLWxlZnQ6IC0kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg7XG4gIGxpbmUtaGVpZ2h0OiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiAkcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLy8gT3BpbmlvbmF0ZWQ6IHJlbW92ZSB0aGUgXCJoYW5kXCIgY3Vyc29yIHNldCBwcmV2aW91c2x5IGZvciAucGFnZS1saW5rXG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZywgJGJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZy15ICRiYWRnZS1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFkZ2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRiYWRnZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYmFkZ2UtdHJhbnNpdGlvbik7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cblxuLy8gUGlsbCBiYWRnZXNcbi8vXG4vLyBNYWtlIHRoZW0gZXh0cmEgcm91bmRlZCB3aXRoIGEgbW9kaWZpZXIgdG8gcmVwbGFjZSB2MydzIGJhZGdlcy5cblxuLmJhZGdlLXBpbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIHBhZGRpbmctbGVmdDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBDb2xvcnNcbi8vXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBiYWRnZXMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJhZGdlLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYmFkZ2UtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG4iLCJAbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZywgMTAlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRiYWRnZS1mb2N1cy13aWR0aCByZ2JhKCRiZywgLjUpO1xuICAgIH1cbiAgfVxufVxuIiwiLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6ICRqdW1ib3Ryb24tcGFkZGluZyAoJGp1bWJvdHJvbi1wYWRkaW5nIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICRqdW1ib3Ryb24tcGFkZGluZztcbiAgY29sb3I6ICRqdW1ib3Ryb24tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRqdW1ib3Ryb24tYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBwYWRkaW5nOiAoJGp1bWJvdHJvbi1wYWRkaW5nICogMikgJGp1bWJvdHJvbi1wYWRkaW5nO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAkYWxlcnQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGVydC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAkY2xvc2UtZm9udC1zaXplICsgJGFsZXJ0LXBhZGRpbmcteCAqIDI7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBzdHlsZXNcbi8vXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0LlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmFsZXJ0LSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCh0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJvcmRlci1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWNvbG9yLWxldmVsKSk7XG4gIH1cbn1cbiIsIkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cblxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIERpc2FibGUgYW5pbWF0aW9uIGlmIHRyYW5zaXRpb25zIGFyZSBkaXNhYmxlZFxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICBAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgICBmcm9tIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogJHByb2dyZXNzLWhlaWdodCAwOyB9XG4gICAgdG8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBAaW5jbHVkZSBmb250LXNpemUoJHByb2dyZXNzLWZvbnQtc2l6ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRwcm9ncmVzcy1oZWlnaHQgJHByb2dyZXNzLWhlaWdodDtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZztcblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkgJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkbGlzdC1ncm91cC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XG4gIGJvcmRlcjogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG4gIH1cblxuICAvLyBJbmNsdWRlIGJvdGggaGVyZSBmb3IgYDxhPmBzIGFuZCBgPGJ1dHRvbj5gc1xuICAmLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmICsgJiB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gSG9yaXpvbnRhbFxuLy9cbi8vIENoYW5nZSB0aGUgbGF5b3V0IG9mIGxpc3QgZ3JvdXAgaXRlbXMgZnJvbSB2ZXJ0aWNhbCAoZGVmYXVsdCkgdG8gaG9yaXpvbnRhbC5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCN7JGluZml4fSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBGbHVzaCBsaXN0IGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBsaXN0IGdyb3VwIGl0ZW1zIGVkZ2UtdG8tZWRnZS4gTW9zdFxuLy8gdXNlZnVsIHdpdGhpbiBvdGhlciBjb21wb25lbnRzIChlLmcuLCBjYXJkcykuXG5cbi5saXN0LWdyb3VwLWZsdXNoIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgLTkpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIDYpKTtcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY2xvc2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIG9wYWNpdHk6IC41O1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBvcGFjaXR5OiAuNzU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLnRvYXN0IHtcbiAgbWF4LXdpZHRoOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBjaGVhcCByb3VuZGVkIGNvcm5lcnMgb24gbmVzdGVkIGl0ZW1zXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9hc3QtZm9udC1zaXplKTtcbiAgY29sb3I6ICR0b2FzdC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtYm9yZGVyLWNvbG9yO1xuICBib3gtc2hhZG93OiAkdG9hc3QtYm94LXNoYWRvdztcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b2FzdC1ib3JkZXItcmFkaXVzKTtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206ICR0b2FzdC1wYWRkaW5nLXg7XG4gIH1cblxuICAmLnNob3dpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXkgJHRvYXN0LXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b2FzdC1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjtcbn1cblxuLnRvYXN0LWJvZHkge1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy14OyAvLyBhcHBseSB0byBib3RoIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsXG59XG4iLCIvLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4ubW9kYWwtb3BlbiB7XG4gIC8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5tb2RhbCB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW47XG4gIC8vIGFsbG93IGNsaWNrcyB0byBwYXNzIHRocm91Z2ggZm9yIGN1c3RvbSBjbGljayBoYW5kbGluZyB0byBjbG9zZSBtb2RhbFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAubW9kYWwuZmFkZSAmIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRtb2RhbC10cmFuc2l0aW9uKTtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1mYWRlLXRyYW5zZm9ybTtcbiAgfVxuICAubW9kYWwuc2hvdyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zaG93LXRyYW5zZm9ybTtcbiAgfVxuXG4gIC8vIFdoZW4gdHJ5aW5nIHRvIGNsb3NlLCBhbmltYXRlIGZvY3VzIHRvIHNjYWxlXG4gIC5tb2RhbC5tb2RhbC1zdGF0aWMgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2NhbGUtdHJhbnNmb3JtO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gIGRpc3BsYXk6IGZsZXg7IC8vIElFMTAvMTFcbiAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7IC8vIElFMTAvMTFcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAvLyBFbnN1cmUgYG1vZGFsLWRpYWxvZy1jZW50ZXJlZGAgZXh0ZW5kcyB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIHZpZXcgKElFMTAvMTEpXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IC8vIElFMTBcbiAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAvLyBFbnN1cmUgYC5tb2RhbC1ib2R5YCBzaG93cyBzY3JvbGxiYXIgKElFMTAvMTEpXG4gICYubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7IC8vIEVuc3VyZSBgLm1vZGFsLWNvbnRlbnRgIGV4dGVuZHMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHBhcmVudCBgLm1vZGFsLWRpYWxvZ2BcbiAgLy8gY291bnRlcmFjdCB0aGUgcG9pbnRlci1ldmVudHM6IG5vbmU7IGluIHRoZSAubW9kYWwtZGlhbG9nXG4gIGNvbG9yOiAkbW9kYWwtY29udGVudC1jb2xvcjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tkcm9wO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8vIHNvIHRoZSBjbG9zZSBidG4gYWx3YXlzIHN0YXlzIG9uIHRoZSB1cHBlciByaWdodCBjb3JuZXJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206ICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAuY2xvc2Uge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgICAvLyBhdXRvIG9uIHRoZSBsZWZ0IGZvcmNlIGljb24gdG8gdGhlIHJpZ2h0IGV2ZW4gd2hlbiB0aGVyZSBpcyBubyAubW9kYWwtdGl0bGVcbiAgICBtYXJnaW46ICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpIGF1dG87XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gdGhlcmUgc2hvdWxkIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nIC0gJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAvIDI7XG4gIGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBQbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgLy8gVGhpcyBzb2x1dGlvbiBpcyBmYXIgZnJvbSBpZGVhbCBiZWNhdXNlIG9mIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3IgdXNhZ2UsXG4gIC8vIGJ1dCBpcyBuZWVkZWQgdG8gZml4IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ4MDBcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiAqIHtcbiAgICBtYXJnaW46ICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gLyAyO1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cCk7XG4gIH1cblxuICAubW9kYWwtc20geyBtYXgtd2lkdGg6ICRtb2RhbC1zbTsgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyxcbiAgLm1vZGFsLXhsIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1sZztcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7IG1heC13aWR0aDogJG1vZGFsLXhsOyB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAkdG9vbHRpcC1tYXJnaW47XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHRvb2x0aXAtZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHRvb2x0aXAncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvcGFjaXR5OiAwO1xuXG4gICYuc2hvdyB7IG9wYWNpdHk6ICR0b29sdGlwLW9wYWNpdHk7IH1cblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3Age1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIGJvdHRvbTogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXJpZ2h0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1ib3R0b20ge1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIHRvcDogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWxlZnQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtbGVmdDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXkgJHRvb2x0aXAtcGFkZGluZy14O1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCgpIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCIucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LXBvcG92ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6ICRwb3BvdmVyLW1heC13aWR0aDtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkcG9wb3Zlci1mb250LXNpemUpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHBvcG92ZXItYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHBvcG92ZXItYm94LXNoYWRvdyk7XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIG1hcmdpbjogMCAkcG9wb3Zlci1ib3JkZXItcmFkaXVzO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci10b3Age1xuICBtYXJnaW4tYm90dG9tOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIGJvdHRvbTogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgbGVmdDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbGVmdDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWJvdHRvbSB7XG4gIG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgdG9wOiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMik7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMik7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLWhlYWRlcidzIGJvcmRlciBqdXN0IGJlbG93IHRoZSBhcnJvd1xuICAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWhlYWRlci1iZztcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHJpZ2h0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItbGVmdDtcbiAgfVxufVxuXG5cbi8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuLnBvcG92ZXItaGVhZGVyIHtcbiAgcGFkZGluZzogJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIFJlYm9vdFxuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgY29sb3I6ICRwb3BvdmVyLWhlYWRlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItaGVhZGVyLWJnO1xuICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgZGFya2VuKCRwb3BvdmVyLWhlYWRlci1iZywgNSUpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteSAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteDtcbiAgY29sb3I6ICRwb3BvdmVyLWJvZHktY29sb3I7XG59XG4iLCIvLyBOb3RlcyBvbiB0aGUgY2xhc3Nlczpcbi8vXG4vLyAxLiAuY2Fyb3VzZWwucG9pbnRlci1ldmVudCBzaG91bGQgaWRlYWxseSBiZSBwYW4teSAodG8gYWxsb3cgZm9yIHVzZXJzIHRvIHNjcm9sbCB2ZXJ0aWNhbGx5KVxuLy8gICAgZXZlbiB3aGVuIHRoZWlyIHNjcm9sbCBhY3Rpb24gc3RhcnRlZCBvbiBhIGNhcm91c2VsLCBidXQgZm9yIGNvbXBhdGliaWxpdHkgKHdpdGggRmlyZWZveClcbi8vICAgIHdlJ3JlIHByZXZlbnRpbmcgYWxsIGFjdGlvbnMgaW5zdGVhZFxuLy8gMi4gVGhlIC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hlcmVcbi8vICAgIHRoZSBhY3RpdmUgc2xpZGUgaXMgaGVhZGluZy5cbi8vIDMuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbSBpcyB0aGUgY3VycmVudCBzbGlkZS5cbi8vIDQuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQgaXMgdGhlIGN1cnJlbnRcbi8vICAgIHNsaWRlIGluIGl0cyBpbi10cmFuc2l0aW9uIHN0YXRlLiBPbmx5IG9uZSBvZiB0aGVzZSBvY2N1cnMgYXQgYSB0aW1lLlxuLy8gNS4gLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodFxuLy8gICAgaXMgdGhlIHVwY29taW5nIHNsaWRlIGluIHRyYW5zaXRpb24uXG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLXRyYW5zaXRpb24pO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0Om5vdCguY2Fyb3VzZWwtaXRlbS1sZWZ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0tcHJldjpub3QoLmNhcm91c2VsLWl0ZW0tcmlnaHQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgdHJhbnNpdGlvbnNcbi8vXG5cbi5jYXJvdXNlbC1mYWRlIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMHMgJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuICAvLyBVc2UgZmxleCBmb3IgYWxpZ25tZW50ICgxLTMpXG4gIGRpc3BsYXk6IGZsZXg7IC8vIDEuIGFsbG93IGZsZXggc3R5bGVzXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIDIuIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnRzXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAzLiBob3Jpem9udGFsbHkgY2VudGVyIGNvbnRlbnRzXG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCA1MCUgLyAxMDAlIDEwMCU7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZyk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZyk7XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gb3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIDxvbD4gZGVmYXVsdFxuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDI7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgLyAyO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIi8vXG4vLyBSb3RhdGluZyBib3JkZXJcbi8vXG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXIge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLnNwaW5uZXItYm9yZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGg7XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIGJvcmRlcjogJHNwaW5uZXItYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3Bpbm5lci1ib3JkZXIgLjc1cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG4gIGJvcmRlci13aWR0aDogJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtO1xufVxuXG4vL1xuLy8gR3Jvd2luZyBjaXJjbGVcbi8vXG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5zcGlubmVyLWdyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiBzcGlubmVyLWdyb3cgLjc1cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5hbGlnbi1iYXNlbGluZSAgICB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9IC8vIEJyb3dzZXIgZGVmYXVsdFxuLmFsaWduLXRvcCAgICAgICAgIHsgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG4uYWxpZ24tbWlkZGxlICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1ib3R0b20gICAgICB7IHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtYm90dG9tIHsgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LXRvcCAgICB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGJnLXZhcmlhbnRgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuQG1peGluIGJnLWdyYWRpZW50LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGJnLXZhcmlhbnQoXCIuYmctI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG59XG5cbkBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIEBpbmNsdWRlIGJnLWdyYWRpZW50LXZhcmlhbnQoXCIuYmctZ3JhZGllbnQtI3skY29sb3J9XCIsICR2YWx1ZSk7XG4gIH1cbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5iZy10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gQm9yZGVyXG4vL1xuXG4uYm9yZGVyICAgICAgICAgeyBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcCAgICAgeyBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodCAgIHsgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20gIHsgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdCAgICB7IGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5ib3JkZXItI3skY29sb3J9IHtcbiAgICBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vL1xuLy8gQm9yZGVyLXJhZGl1c1xuLy9cblxuLnJvdW5kZWQtc20ge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxlZnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZyB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogJHJvdW5kZWQtcGlsbCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIGNvbW1vbiBgZGlzcGxheWAgdmFsdWVzXG4vL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAgIC5kI3skaW5maXh9LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG5AbWVkaWEgcHJpbnQge1xuICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAuZC1wcmludC0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuQGVhY2ggJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvIGluICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Mge1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teDogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMSk7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAyKTtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS0jeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14fWJ5I3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teX0ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teSAvICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tbm9uZSAgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJG92ZXJmbG93cyB7XG4gIC5vdmVyZmxvdy0jeyR2YWx1ZX0geyBvdmVyZmxvdzogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb21tb24gdmFsdWVzXG5AZWFjaCAkcG9zaXRpb24gaW4gJHBvc2l0aW9ucyB7XG4gIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0geyBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5zdGlja3ktdG9wIHtcbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gIH1cbn1cbiIsIi8vXG4vLyBTY3JlZW5yZWFkZXJzXG4vL1xuXG4uc3Itb25seSB7XG4gIEBpbmNsdWRlIHNyLW9ubHkoKTtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTtcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlKCkge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLnNoYWRvdy1zbSB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LXNtICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3cgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LWxnIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGcgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1ub25lIHsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gV2lkdGggYW5kIGhlaWdodFxuXG5AZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAod2lkdGg6IHcsIGhlaWdodDogaCkge1xuICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc2l6ZXMge1xuICAgIC4jeyRhYmJyZXZ9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi5tdy0xMDAgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuLm1oLTEwMCB7IG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vLyBWaWV3cG9ydCBhZGRpdGlvbmFsIGhlbHBlcnNcblxuLm1pbi12dy0xMDAgeyBtaW4td2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbi5taW4tdmgtMTAwIHsgbWluLWhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuXG4udnctMTAwIHsgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbi52aC0xMDAgeyBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cbiIsIi8vXG4vLyBTdHJldGNoZWQgbGlua1xuLy9cblxuLnN0cmV0Y2hlZC1saW5rIHtcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICAvLyBKdXN0IGluIGNhc2UgYHBvaW50ZXItZXZlbnRzOiBub25lYCBpcyBzZXQgb24gYSBwYXJlbnRcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8vIElFMTAgYnVnZml4LCBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTY5NDc5NjcvaWUxMC1ob3Zlci1wc2V1ZG8tY2xhc3MtZG9lc250LXdvcmstd2l0aG91dC1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIE1hcmdpbiBhbmQgUGFkZGluZ1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gICAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW5zIChlLmcuLCB3aGVyZSBgLm1iLW4xYCBpcyBuZWdhdGl2ZSB2ZXJzaW9uIG9mIGAubWItMWApXG4gICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgQGlmICRzaXplICE9IDAge1xuICAgICAgICAubSN7JGluZml4fS1uI3skc2l6ZX0geyBtYXJnaW46IC0kbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLm10I3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm15I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubXIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXgjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1iI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm15I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWwjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXgjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbWUgc3BlY2lhbCBtYXJnaW4gdXRpbHNcbiAgICAubSN7JGluZml4fS1hdXRvIHsgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAubXQjeyRpbmZpeH0tYXV0byxcbiAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tciN7JGluZml4fS1hdXRvLFxuICAgIC5teCN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWIjeyRpbmZpeH0tYXV0byxcbiAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tbCN7JGluZml4fS1hdXRvLFxuICAgIC5teCN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFRleHRcbi8vXG5cbi50ZXh0LW1vbm9zcGFjZSB7IGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFpbXBvcnRhbnQ7IH1cblxuLy8gQWxpZ25tZW50XG5cbi50ZXh0LWp1c3RpZnkgIHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4udGV4dC13cmFwICAgICB7IHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuLnRleHQtbm93cmFwICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXRydW5jYXRlIHsgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgpOyB9XG5cbi8vIFJlc3BvbnNpdmUgYWxpZ25tZW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC50ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi50ZXh0LWxvd2VyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXVwcGVyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8vIFdlaWdodCBhbmQgaXRhbGljc1xuXG4uZm9udC13ZWlnaHQtbGlnaHQgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWxpZ2h0ZXIgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LW5vcm1hbCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZCAgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZGVyICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcblxuLnRleHQtd2hpdGUgeyBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudChcIi50ZXh0LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG4udGV4dC1ib2R5IHsgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW11dGVkIHsgY29sb3I6ICR0ZXh0LW11dGVkICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYmxhY2stNTAgeyBjb2xvcjogcmdiYSgkYmxhY2ssIC41KSAhaW1wb3J0YW50OyB9XG4udGV4dC13aGl0ZS01MCB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjUpICFpbXBvcnRhbnQ7IH1cblxuLy8gTWlzY1xuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJyZWFrIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50OyAvLyBJRSAmIDwgRWRnZSAxOFxuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG59XG5cbi8vIFJlc2V0XG5cbi50ZXh0LXJlc2V0IHsgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgYSN7JHBhcmVudH0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1lbXBoYXNpcy12YXJpYW50KClgXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuQG1peGluIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG5cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtaGlkZSgpYFwiLCBcInY0LjEuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vL1xuXG4udmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9tYWluLmNzcy9ibG9iL21hc3Rlci9zcmMvX3ByaW50LmNzc1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4vLyBodHRwczovL3d3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYgJGVuYWJsZS1wcmludC1zdHlsZXMge1xuICBAbWVkaWEgcHJpbnQge1xuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCBvdXQgYGNvbG9yYCBhbmQgYGJhY2tncm91bmRgXG4gICAgICAvL2NvbG9yOiAkYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlclxuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIC8vYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICY6bm90KC5idG4pIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9hW2hyZWZdOjphZnRlciB7XG4gICAgLy8gIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIC8vfVxuXG4gICAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL1xuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIC8vXG5cbiAgICAvL2FbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgICAvL2FbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIC8vIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy99XG5cbiAgICBwcmUge1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkZ3JheS01MDA7IC8vIEJvb3RzdHJhcCBjdXN0b20gY29kZTsgdXNpbmcgYCRib3JkZXItd2lkdGhgIGluc3RlYWQgb2YgMXB4XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQcmludGluZyBUYWJsZXM6XG4gICAgLy8gaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTgwODE1MTUwOTM0L2h0dHA6Ly9jc3MtZGlzY3Vzcy5pbmN1dGlvLmNvbS93aWtpL1ByaW50aW5nX1RhYmxlc1xuICAgIC8vXG5cbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gICAgfVxuXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgc3RhcnRcblxuICAgIC8vIFNwZWNpZnkgYSBzaXplIGFuZCBtaW4td2lkdGggdG8gbWFrZSBwcmludGluZyBjbG9zZXIgYWNyb3NzIGJyb3dzZXJzLlxuICAgIC8vIFdlIGRvbid0IHNldCBtYXJnaW4gaGVyZSBiZWNhdXNlIGl0IGJyZWFrcyBgc2l6ZWAgaW4gQ2hyb21lLiBXZSBhbHNvXG4gICAgLy8gZG9uJ3QgdXNlIGAhaW1wb3J0YW50YCBvbiBgc2l6ZWAgYXMgaXQgYnJlYWtzIGluIENocm9tZS5cbiAgICBAcGFnZSB7XG4gICAgICBzaXplOiAkcHJpbnQtcGFnZS1zaXplO1xuICAgIH1cbiAgICBib2R5IHtcbiAgICAgIG1pbi13aWR0aDogJHByaW50LWJvZHktbWluLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYmxhY2s7XG4gICAgfVxuXG4gICAgLnRhYmxlIHtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgdGQsXG4gICAgICB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktMzAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWRhcmsge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlIC50aGVhZC1kYXJrIHRoIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxuICB9XG59XG4iXX0= */", '', '']]
-
-/***/ }),
-
-/***/ "./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/lib/loader.js?!./src/styles.scss":
-/*!**********************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src??embedded!./node_modules/sass-loader/lib/loader.js??ref--15-3!./src/styles.scss ***!
- \**********************************************************************************************************************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-module.exports = [[module.i, "/*!\n * DAA Example\n *\n * Copyright (C) 2019 - Miguel Reboiro-Jato.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n/* You can add global styles to this file, and also import other style files */\nhtml, body {\n height: 100%;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9DOlxcVXNlcnNcXE5vZWxpYVxcRGVza3RvcFxcREFBXFxkYWFleGFtcGxlXFxzcmNcXG1haW5cXGFuZ3VsYXIvc3JjXFxzdHlsZXMuc2NzcyIsInNyYy9zdHlsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFBQTtBQW1CQSw4RUFBQTtBQUVBO0VBQ0UsWUFBQTtBQ0RGIiwiZmlsZSI6InNyYy9zdHlsZXMuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBEQUEgRXhhbXBsZVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTkgLSBNaWd1ZWwgUmVib2lyby1KYXRvLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcclxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcclxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXHJcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXHJcbiAqXHJcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXHJcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXHJcbiAqL1xyXG5cclxuLyogWW91IGNhbiBhZGQgZ2xvYmFsIHN0eWxlcyB0byB0aGlzIGZpbGUsIGFuZCBhbHNvIGltcG9ydCBvdGhlciBzdHlsZSBmaWxlcyAqL1xyXG5cclxuaHRtbCwgYm9keSB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcbiIsIi8qIVxuICogREFBIEV4YW1wbGVcbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTkgLSBNaWd1ZWwgUmVib2lyby1KYXRvLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG4vKiBZb3UgY2FuIGFkZCBnbG9iYWwgc3R5bGVzIHRvIHRoaXMgZmlsZSwgYW5kIGFsc28gaW1wb3J0IG90aGVyIHN0eWxlIGZpbGVzICovXG5odG1sLCBib2R5IHtcbiAgaGVpZ2h0OiAxMDAlO1xufSJdfQ== */", '', '']]
-
-/***/ }),
-
-/***/ "./node_modules/bootstrap/dist/css/bootstrap.css":
-/*!*******************************************************!*\
- !*** ./node_modules/bootstrap/dist/css/bootstrap.css ***!
- \*******************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-var content = __webpack_require__(/*! !../../../@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!../../../postcss-loader/src??embedded!./bootstrap.css */ "./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/bootstrap/dist/css/bootstrap.css");
-
-if (typeof content === 'string') {
- content = [[module.i, content, '']];
-}
-
-var options = {}
-
-options.insert = "head";
-options.singleton = false;
-
-var update = __webpack_require__(/*! ../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js")(content, options);
-
-if (content.locals) {
- module.exports = content.locals;
-}
-
-
-/***/ }),
-
-/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":
-/*!****************************************************************************!*\
- !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!
- \****************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var stylesInDom = {};
-
-var isOldIE = function isOldIE() {
- var memo;
- return function memorize() {
- if (typeof memo === 'undefined') {
- // Test for IE <= 9 as proposed by Browserhacks
- // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
- // Tests for existence of standard globals is to allow style-loader
- // to operate correctly into non-standard environments
- // @see https://github.com/webpack-contrib/style-loader/issues/177
- memo = Boolean(window && document && document.all && !window.atob);
- }
-
- return memo;
- };
-}();
-
-var getTarget = function getTarget() {
- var memo = {};
- return function memorize(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];
- };
-}();
-
-function listToStyles(list, options) {
- var styles = [];
- var newStyles = {};
-
- for (var i = 0; i < list.length; i++) {
- var item = list[i];
- var id = options.base ? item[0] + options.base : item[0];
- var css = item[1];
- var media = item[2];
- var sourceMap = item[3];
- var part = {
- css: css,
- media: media,
- sourceMap: sourceMap
- };
-
- if (!newStyles[id]) {
- styles.push(newStyles[id] = {
- id: id,
- parts: [part]
- });
- } else {
- newStyles[id].parts.push(part);
- }
- }
-
- return styles;
-}
-
-function addStylesToDom(styles, options) {
- for (var i = 0; i < styles.length; i++) {
- var item = styles[i];
- var domStyle = stylesInDom[item.id];
- var j = 0;
-
- if (domStyle) {
- domStyle.refs++;
-
- for (; j < domStyle.parts.length; j++) {
- domStyle.parts[j](item.parts[j]);
- }
-
- for (; j < item.parts.length; j++) {
- domStyle.parts.push(addStyle(item.parts[j], options));
- }
- } else {
- var parts = [];
-
- for (; j < item.parts.length; j++) {
- parts.push(addStyle(item.parts[j], options));
- }
-
- stylesInDom[item.id] = {
- id: item.id,
- refs: 1,
- parts: parts
- };
- }
- }
-}
-
-function insertStyleElement(options) {
- var style = document.createElement('style');
-
- if (typeof options.attributes.nonce === 'undefined') {
- var nonce = true ? __webpack_require__.nc : undefined;
-
- if (nonce) {
- options.attributes.nonce = nonce;
- }
- }
-
- Object.keys(options.attributes).forEach(function (key) {
- style.setAttribute(key, options.attributes[key]);
- });
-
- if (typeof options.insert === 'function') {
- options.insert(style);
- } else {
- var target = getTarget(options.insert || 'head');
-
- 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);
- }
-
- return style;
-}
-
-function removeStyleElement(style) {
- // istanbul ignore if
- if (style.parentNode === null) {
- return false;
- }
-
- style.parentNode.removeChild(style);
-}
-/* istanbul ignore next */
-
-
-var replaceText = function replaceText() {
- var textStore = [];
- return function replace(index, replacement) {
- textStore[index] = replacement;
- return textStore.filter(Boolean).join('\n');
- };
-}();
-
-function applyToSingletonTag(style, index, remove, obj) {
- var css = remove ? '' : obj.css; // For old IE
-
- /* istanbul ignore if */
-
- if (style.styleSheet) {
- style.styleSheet.cssText = replaceText(index, css);
- } else {
- var cssNode = document.createTextNode(css);
- var childNodes = style.childNodes;
-
- if (childNodes[index]) {
- style.removeChild(childNodes[index]);
- }
-
- if (childNodes.length) {
- style.insertBefore(cssNode, childNodes[index]);
- } else {
- style.appendChild(cssNode);
- }
- }
-}
-
-function applyToTag(style, options, obj) {
- var css = obj.css;
- var media = obj.media;
- var sourceMap = obj.sourceMap;
-
- if (media) {
- style.setAttribute('media', media);
- }
-
- if (sourceMap && btoa) {
- css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */");
- } // For old IE
-
- /* istanbul ignore if */
-
-
- if (style.styleSheet) {
- style.styleSheet.cssText = css;
- } else {
- while (style.firstChild) {
- style.removeChild(style.firstChild);
- }
-
- style.appendChild(document.createTextNode(css));
- }
-}
-
-var singleton = null;
-var singletonCounter = 0;
-
-function addStyle(obj, options) {
- var style;
- var update;
- var remove;
-
- if (options.singleton) {
- var styleIndex = singletonCounter++;
- style = singleton || (singleton = insertStyleElement(options));
- update = applyToSingletonTag.bind(null, style, styleIndex, false);
- remove = applyToSingletonTag.bind(null, style, styleIndex, true);
- } else {
- style = insertStyleElement(options);
- update = applyToTag.bind(null, style, options);
-
- remove = function remove() {
- removeStyleElement(style);
- };
- }
-
- update(obj);
- return function updateStyle(newObj) {
- if (newObj) {
- if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {
- return;
- }
-
- update(obj = newObj);
- } else {
- remove();
- }
- };
-}
-
-module.exports = function (list, options) {
- options = options || {};
- options.attributes = typeof options.attributes === 'object' ? options.attributes : {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of
-
-
- could become:
-
-
-
-
-
-
- Note the use of @polyfill in the comment above a ShadowDOM specific style
- declaration. This is a directive to the styling shim to use the selector
- in comments in lieu of the next selector when running under polyfill.
-*/
-class ShadowCss {
- constructor() {
- this.strictStyling = true;
- }
- /*
- * Shim some cssText with the given selector. Returns cssText that can
- * be included in the document via WebComponents.ShadowCSS.addCssToDocument(css).
- *
- * When strictStyling is true:
- * - selector is the attribute added to all elements inside the host,
- * - hostSelector is the attribute added to the host itself.
- */
- shimCssText(cssText, selector, hostSelector = '') {
- const commentsWithHash = extractCommentsWithHash(cssText);
- cssText = stripComments(cssText);
- cssText = this._insertDirectives(cssText);
- const scopedCssText = this._scopeCssText(cssText, selector, hostSelector);
- return [scopedCssText, ...commentsWithHash].join('\n');
- }
- _insertDirectives(cssText) {
- cssText = this._insertPolyfillDirectivesInCssText(cssText);
- return this._insertPolyfillRulesInCssText(cssText);
- }
- /*
- * Process styles to convert native ShadowDOM rules that will trip
- * up the css parser; we rely on decorating the stylesheet with inert rules.
- *
- * For example, we convert this rule:
- *
- * polyfill-next-selector { content: ':host menu-item'; }
- * ::content menu-item {
- *
- * to this:
- *
- * scopeName menu-item {
- *
- **/
- _insertPolyfillDirectivesInCssText(cssText) {
- // Difference with webcomponents.js: does not handle comments
- return cssText.replace(_cssContentNextSelectorRe, function (...m) { return m[2] + '{'; });
- }
- /*
- * Process styles to add rules which will only apply under the polyfill
- *
- * For example, we convert this rule:
- *
- * polyfill-rule {
- * content: ':host menu-item';
- * ...
- * }
- *
- * to this:
- *
- * scopeName menu-item {...}
- *
- **/
- _insertPolyfillRulesInCssText(cssText) {
- // Difference with webcomponents.js: does not handle comments
- return cssText.replace(_cssContentRuleRe, (...m) => {
- const rule = m[0].replace(m[1], '').replace(m[2], '');
- return m[4] + rule;
- });
- }
- /* Ensure styles are scoped. Pseudo-scoping takes a rule like:
- *
- * .foo {... }
- *
- * and converts this to
- *
- * scopeName .foo { ... }
- */
- _scopeCssText(cssText, scopeSelector, hostSelector) {
- const unscopedRules = this._extractUnscopedRulesFromCssText(cssText);
- // replace :host and :host-context -shadowcsshost and -shadowcsshost respectively
- cssText = this._insertPolyfillHostInCssText(cssText);
- cssText = this._convertColonHost(cssText);
- cssText = this._convertColonHostContext(cssText);
- cssText = this._convertShadowDOMSelectors(cssText);
- if (scopeSelector) {
- cssText = this._scopeSelectors(cssText, scopeSelector, hostSelector);
- }
- cssText = cssText + '\n' + unscopedRules;
- return cssText.trim();
- }
- /*
- * Process styles to add rules which will only apply under the polyfill
- * and do not process via CSSOM. (CSSOM is destructive to rules on rare
- * occasions, e.g. -webkit-calc on Safari.)
- * For example, we convert this rule:
- *
- * @polyfill-unscoped-rule {
- * content: 'menu-item';
- * ... }
- *
- * to this:
- *
- * menu-item {...}
- *
- **/
- _extractUnscopedRulesFromCssText(cssText) {
- // Difference with webcomponents.js: does not handle comments
- let r = '';
- let m;
- _cssContentUnscopedRuleRe.lastIndex = 0;
- while ((m = _cssContentUnscopedRuleRe.exec(cssText)) !== null) {
- const rule = m[0].replace(m[2], '').replace(m[1], m[4]);
- r += rule + '\n\n';
- }
- return r;
- }
- /*
- * convert a rule like :host(.foo) > .bar { }
- *
- * to
- *
- * .foo > .bar
- */
- _convertColonHost(cssText) {
- return this._convertColonRule(cssText, _cssColonHostRe, this._colonHostPartReplacer);
- }
- /*
- * convert a rule like :host-context(.foo) > .bar { }
- *
- * to
- *
- * .foo > .bar, .foo scopeName > .bar { }
- *
- * and
- *
- * :host-context(.foo:host) .bar { ... }
- *
- * to
- *
- * .foo .bar { ... }
- */
- _convertColonHostContext(cssText) {
- return this._convertColonRule(cssText, _cssColonHostContextRe, this._colonHostContextPartReplacer);
- }
- _convertColonRule(cssText, regExp, partReplacer) {
- // m[1] = :host(-context), m[2] = contents of (), m[3] rest of rule
- return cssText.replace(regExp, function (...m) {
- if (m[2]) {
- const parts = m[2].split(',');
- const r = [];
- for (let i = 0; i < parts.length; i++) {
- const p = parts[i].trim();
- if (!p)
- break;
- r.push(partReplacer(_polyfillHostNoCombinator, p, m[3]));
- }
- return r.join(',');
- }
- else {
- return _polyfillHostNoCombinator + m[3];
- }
- });
- }
- _colonHostContextPartReplacer(host, part, suffix) {
- if (part.indexOf(_polyfillHost) > -1) {
- return this._colonHostPartReplacer(host, part, suffix);
- }
- else {
- return host + part + suffix + ', ' + part + ' ' + host + suffix;
- }
- }
- _colonHostPartReplacer(host, part, suffix) {
- return host + part.replace(_polyfillHost, '') + suffix;
- }
- /*
- * Convert combinators like ::shadow and pseudo-elements like ::content
- * by replacing with space.
- */
- _convertShadowDOMSelectors(cssText) {
- return _shadowDOMSelectorsRe.reduce((result, pattern) => result.replace(pattern, ' '), cssText);
- }
- // change a selector like 'div' to 'name div'
- _scopeSelectors(cssText, scopeSelector, hostSelector) {
- return processRules(cssText, (rule) => {
- let selector = rule.selector;
- let content = rule.content;
- if (rule.selector[0] != '@') {
- selector =
- this._scopeSelector(rule.selector, scopeSelector, hostSelector, this.strictStyling);
- }
- else if (rule.selector.startsWith('@media') || rule.selector.startsWith('@supports') ||
- rule.selector.startsWith('@page') || rule.selector.startsWith('@document')) {
- content = this._scopeSelectors(rule.content, scopeSelector, hostSelector);
- }
- return new CssRule(selector, content);
- });
- }
- _scopeSelector(selector, scopeSelector, hostSelector, strict) {
- return selector.split(',')
- .map(part => part.trim().split(_shadowDeepSelectors))
- .map((deepParts) => {
- const [shallowPart, ...otherParts] = deepParts;
- const applyScope = (shallowPart) => {
- if (this._selectorNeedsScoping(shallowPart, scopeSelector)) {
- return strict ?
- this._applyStrictSelectorScope(shallowPart, scopeSelector, hostSelector) :
- this._applySelectorScope(shallowPart, scopeSelector, hostSelector);
- }
- else {
- return shallowPart;
- }
- };
- return [applyScope(shallowPart), ...otherParts].join(' ');
- })
- .join(', ');
- }
- _selectorNeedsScoping(selector, scopeSelector) {
- const re = this._makeScopeMatcher(scopeSelector);
- return !re.test(selector);
- }
- _makeScopeMatcher(scopeSelector) {
- const lre = /\[/g;
- const rre = /\]/g;
- scopeSelector = scopeSelector.replace(lre, '\\[').replace(rre, '\\]');
- return new RegExp('^(' + scopeSelector + ')' + _selectorReSuffix, 'm');
- }
- _applySelectorScope(selector, scopeSelector, hostSelector) {
- // Difference from webcomponents.js: scopeSelector could not be an array
- return this._applySimpleSelectorScope(selector, scopeSelector, hostSelector);
- }
- // scope via name and [is=name]
- _applySimpleSelectorScope(selector, scopeSelector, hostSelector) {
- // In Android browser, the lastIndex is not reset when the regex is used in String.replace()
- _polyfillHostRe.lastIndex = 0;
- if (_polyfillHostRe.test(selector)) {
- const replaceBy = this.strictStyling ? `[${hostSelector}]` : scopeSelector;
- return selector
- .replace(_polyfillHostNoCombinatorRe, (hnc, selector) => {
- return selector.replace(/([^:]*)(:*)(.*)/, (_, before, colon, after) => {
- return before + replaceBy + colon + after;
- });
- })
- .replace(_polyfillHostRe, replaceBy + ' ');
- }
- return scopeSelector + ' ' + selector;
- }
- // return a selector with [name] suffix on each simple selector
- // e.g. .foo.bar > .zot becomes .foo[name].bar[name] > .zot[name] /** @internal */
- _applyStrictSelectorScope(selector, scopeSelector, hostSelector) {
- const isRe = /\[is=([^\]]*)\]/g;
- scopeSelector = scopeSelector.replace(isRe, (_, ...parts) => parts[0]);
- const attrName = '[' + scopeSelector + ']';
- const _scopeSelectorPart = (p) => {
- let scopedP = p.trim();
- if (!scopedP) {
- return '';
- }
- if (p.indexOf(_polyfillHostNoCombinator) > -1) {
- scopedP = this._applySimpleSelectorScope(p, scopeSelector, hostSelector);
- }
- else {
- // remove :host since it should be unnecessary
- const t = p.replace(_polyfillHostRe, '');
- if (t.length > 0) {
- const matches = t.match(/([^:]*)(:*)(.*)/);
- if (matches) {
- scopedP = matches[1] + attrName + matches[2] + matches[3];
- }
- }
- }
- return scopedP;
- };
- const safeContent = new SafeSelector(selector);
- selector = safeContent.content();
- let scopedSelector = '';
- let startIndex = 0;
- let res;
- const sep = /( |>|\+|~(?!=))\s*/g;
- // If a selector appears before :host it should not be shimmed as it
- // matches on ancestor elements and not on elements in the host's shadow
- // `:host-context(div)` is transformed to
- // `-shadowcsshost-no-combinatordiv, div -shadowcsshost-no-combinator`
- // the `div` is not part of the component in the 2nd selectors and should not be scoped.
- // Historically `component-tag:host` was matching the component so we also want to preserve
- // this behavior to avoid breaking legacy apps (it should not match).
- // The behavior should be:
- // - `tag:host` -> `tag[h]` (this is to avoid breaking legacy apps, should not match anything)
- // - `tag :host` -> `tag [h]` (`tag` is not scoped because it's considered part of a
- // `:host-context(tag)`)
- const hasHost = selector.indexOf(_polyfillHostNoCombinator) > -1;
- // Only scope parts after the first `-shadowcsshost-no-combinator` when it is present
- let shouldScope = !hasHost;
- while ((res = sep.exec(selector)) !== null) {
- const separator = res[1];
- const part = selector.slice(startIndex, res.index).trim();
- shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;
- const scopedPart = shouldScope ? _scopeSelectorPart(part) : part;
- scopedSelector += `${scopedPart} ${separator} `;
- startIndex = sep.lastIndex;
- }
- const part = selector.substring(startIndex);
- shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;
- scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;
- // replace the placeholders with their original values
- return safeContent.restore(scopedSelector);
- }
- _insertPolyfillHostInCssText(selector) {
- return selector.replace(_colonHostContextRe, _polyfillHostContext)
- .replace(_colonHostRe, _polyfillHost);
- }
-}
-class SafeSelector {
- constructor(selector) {
- this.placeholders = [];
- this.index = 0;
- // Replaces attribute selectors with placeholders.
- // The WS in [attr="va lue"] would otherwise be interpreted as a selector separator.
- selector = selector.replace(/(\[[^\]]*\])/g, (_, keep) => {
- const replaceBy = `__ph-${this.index}__`;
- this.placeholders.push(keep);
- this.index++;
- return replaceBy;
- });
- // Replaces the expression in `:nth-child(2n + 1)` with a placeholder.
- // WS and "+" would otherwise be interpreted as selector separators.
- this._content = selector.replace(/(:nth-[-\w]+)(\([^)]+\))/g, (_, pseudo, exp) => {
- const replaceBy = `__ph-${this.index}__`;
- this.placeholders.push(exp);
- this.index++;
- return pseudo + replaceBy;
- });
- }
- restore(content) {
- return content.replace(/__ph-(\d+)__/g, (ph, index) => this.placeholders[+index]);
- }
- content() { return this._content; }
-}
-const _cssContentNextSelectorRe = /polyfill-next-selector[^}]*content:[\s]*?(['"])(.*?)\1[;\s]*}([^{]*?){/gim;
-const _cssContentRuleRe = /(polyfill-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim;
-const _cssContentUnscopedRuleRe = /(polyfill-unscoped-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim;
-const _polyfillHost = '-shadowcsshost';
-// note: :host-context pre-processed to -shadowcsshostcontext.
-const _polyfillHostContext = '-shadowcsscontext';
-const _parenSuffix = ')(?:\\((' +
- '(?:\\([^)(]*\\)|[^)(]*)+?' +
- ')\\))?([^,{]*)';
-const _cssColonHostRe = new RegExp('(' + _polyfillHost + _parenSuffix, 'gim');
-const _cssColonHostContextRe = new RegExp('(' + _polyfillHostContext + _parenSuffix, 'gim');
-const _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';
-const _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\s]*)/;
-const _shadowDOMSelectorsRe = [
- /::shadow/g,
- /::content/g,
- // Deprecated selectors
- /\/shadow-deep\//g,
- /\/shadow\//g,
-];
-// The deep combinator is deprecated in the CSS spec
-// Support for `>>>`, `deep`, `::ng-deep` is then also deprecated and will be removed in the future.
-// see https://github.com/angular/angular/pull/17677
-const _shadowDeepSelectors = /(?:>>>)|(?:\/deep\/)|(?:::ng-deep)/g;
-const _selectorReSuffix = '([>\\s~+\[.,{:][\\s\\S]*)?$';
-const _polyfillHostRe = /-shadowcsshost/gim;
-const _colonHostRe = /:host/gim;
-const _colonHostContextRe = /:host-context/gim;
-const _commentRe = /\/\*\s*[\s\S]*?\*\//g;
-function stripComments(input) {
- return input.replace(_commentRe, '');
-}
-const _commentWithHashRe = /\/\*\s*#\s*source(Mapping)?URL=[\s\S]+?\*\//g;
-function extractCommentsWithHash(input) {
- return input.match(_commentWithHashRe) || [];
-}
-const _ruleRe = /(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g;
-const _curlyRe = /([{}])/g;
-const OPEN_CURLY = '{';
-const CLOSE_CURLY = '}';
-const BLOCK_PLACEHOLDER = '%BLOCK%';
-class CssRule {
- constructor(selector, content) {
- this.selector = selector;
- this.content = content;
- }
-}
-function processRules(input, ruleCallback) {
- const inputWithEscapedBlocks = escapeBlocks(input);
- let nextBlockIndex = 0;
- return inputWithEscapedBlocks.escapedString.replace(_ruleRe, function (...m) {
- const selector = m[2];
- let content = '';
- let suffix = m[4];
- let contentPrefix = '';
- if (suffix && suffix.startsWith('{' + BLOCK_PLACEHOLDER)) {
- content = inputWithEscapedBlocks.blocks[nextBlockIndex++];
- suffix = suffix.substring(BLOCK_PLACEHOLDER.length + 1);
- contentPrefix = '{';
- }
- const rule = ruleCallback(new CssRule(selector, content));
- return `${m[1]}${rule.selector}${m[3]}${contentPrefix}${rule.content}${suffix}`;
- });
-}
-class StringWithEscapedBlocks {
- constructor(escapedString, blocks) {
- this.escapedString = escapedString;
- this.blocks = blocks;
- }
-}
-function escapeBlocks(input) {
- const inputParts = input.split(_curlyRe);
- const resultParts = [];
- const escapedBlocks = [];
- let bracketCount = 0;
- let currentBlockParts = [];
- for (let partIndex = 0; partIndex < inputParts.length; partIndex++) {
- const part = inputParts[partIndex];
- if (part == CLOSE_CURLY) {
- bracketCount--;
- }
- if (bracketCount > 0) {
- currentBlockParts.push(part);
- }
- else {
- if (currentBlockParts.length > 0) {
- escapedBlocks.push(currentBlockParts.join(''));
- resultParts.push(BLOCK_PLACEHOLDER);
- currentBlockParts = [];
- }
- resultParts.push(part);
- }
- if (part == OPEN_CURLY) {
- bracketCount++;
- }
- }
- if (currentBlockParts.length > 0) {
- escapedBlocks.push(currentBlockParts.join(''));
- resultParts.push(BLOCK_PLACEHOLDER);
- }
- return new StringWithEscapedBlocks(resultParts.join(''), escapedBlocks);
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-const COMPONENT_VARIABLE = '%COMP%';
-const HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;
-const CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;
-class StylesCompileDependency {
- constructor(name, moduleUrl, setValue) {
- this.name = name;
- this.moduleUrl = moduleUrl;
- this.setValue = setValue;
- }
-}
-class CompiledStylesheet {
- constructor(outputCtx, stylesVar, dependencies, isShimmed, meta) {
- this.outputCtx = outputCtx;
- this.stylesVar = stylesVar;
- this.dependencies = dependencies;
- this.isShimmed = isShimmed;
- this.meta = meta;
- }
-}
-class StyleCompiler {
- constructor(_urlResolver) {
- this._urlResolver = _urlResolver;
- this._shadowCss = new ShadowCss();
- }
- compileComponent(outputCtx, comp) {
- const template = comp.template;
- return this._compileStyles(outputCtx, comp, new CompileStylesheetMetadata({
- styles: template.styles,
- styleUrls: template.styleUrls,
- moduleUrl: identifierModuleUrl(comp.type)
- }), this.needsStyleShim(comp), true);
- }
- compileStyles(outputCtx, comp, stylesheet, shim = this.needsStyleShim(comp)) {
- return this._compileStyles(outputCtx, comp, stylesheet, shim, false);
- }
- needsStyleShim(comp) {
- return comp.template.encapsulation === ViewEncapsulation.Emulated;
- }
- _compileStyles(outputCtx, comp, stylesheet, shim, isComponentStylesheet) {
- const styleExpressions = stylesheet.styles.map(plainStyle => literal(this._shimIfNeeded(plainStyle, shim)));
- const dependencies = [];
- stylesheet.styleUrls.forEach((styleUrl) => {
- const exprIndex = styleExpressions.length;
- // Note: This placeholder will be filled later.
- styleExpressions.push(null);
- dependencies.push(new StylesCompileDependency(getStylesVarName(null), styleUrl, (value) => styleExpressions[exprIndex] = outputCtx.importExpr(value)));
- });
- // styles variable contains plain strings and arrays of other styles arrays (recursive),
- // so we set its type to dynamic.
- const stylesVar = getStylesVarName(isComponentStylesheet ? comp : null);
- const stmt = variable(stylesVar)
- .set(literalArr(styleExpressions, new ArrayType(DYNAMIC_TYPE, [TypeModifier.Const])))
- .toDeclStmt(null, isComponentStylesheet ? [StmtModifier.Final] : [
- StmtModifier.Final, StmtModifier.Exported
- ]);
- outputCtx.statements.push(stmt);
- return new CompiledStylesheet(outputCtx, stylesVar, dependencies, shim, stylesheet);
- }
- _shimIfNeeded(style, shim) {
- return shim ? this._shadowCss.shimCssText(style, CONTENT_ATTR, HOST_ATTR) : style;
- }
-}
-function getStylesVarName(component) {
- let result = `styles`;
- if (component) {
- result += `_${identifierName(component.type)}`;
- }
- return result;
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-/**
- * A path is an ordered set of elements. Typically a path is to a
- * particular offset in a source file. The head of the list is the top
- * most node. The tail is the node that contains the offset directly.
- *
- * For example, the expression `a + b + c` might have an ast that looks
- * like:
- * +
- * / \
- * a +
- * / \
- * b c
- *
- * The path to the node at offset 9 would be `['+' at 1-10, '+' at 7-10,
- * 'c' at 9-10]` and the path the node at offset 1 would be
- * `['+' at 1-10, 'a' at 1-2]`.
- */
-class AstPath {
- constructor(path, position = -1) {
- this.path = path;
- this.position = position;
- }
- get empty() { return !this.path || !this.path.length; }
- get head() { return this.path[0]; }
- get tail() { return this.path[this.path.length - 1]; }
- parentOf(node) {
- return node && this.path[this.path.indexOf(node) - 1];
- }
- childOf(node) { return this.path[this.path.indexOf(node) + 1]; }
- first(ctor) {
- for (let i = this.path.length - 1; i >= 0; i--) {
- let item = this.path[i];
- if (item instanceof ctor)
- return item;
- }
- }
- push(node) { this.path.push(node); }
- pop() { return this.path.pop(); }
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-class Text$3 {
- constructor(value, sourceSpan, i18n) {
- this.value = value;
- this.sourceSpan = sourceSpan;
- this.i18n = i18n;
- }
- visit(visitor, context) { return visitor.visitText(this, context); }
-}
-class Expansion {
- constructor(switchValue, type, cases, sourceSpan, switchValueSourceSpan, i18n) {
- this.switchValue = switchValue;
- this.type = type;
- this.cases = cases;
- this.sourceSpan = sourceSpan;
- this.switchValueSourceSpan = switchValueSourceSpan;
- this.i18n = i18n;
- }
- visit(visitor, context) { return visitor.visitExpansion(this, context); }
-}
-class ExpansionCase {
- constructor(value, expression, sourceSpan, valueSourceSpan, expSourceSpan) {
- this.value = value;
- this.expression = expression;
- this.sourceSpan = sourceSpan;
- this.valueSourceSpan = valueSourceSpan;
- this.expSourceSpan = expSourceSpan;
- }
- visit(visitor, context) { return visitor.visitExpansionCase(this, context); }
-}
-class Attribute {
- constructor(name, value, sourceSpan, valueSpan, i18n) {
- this.name = name;
- this.value = value;
- this.sourceSpan = sourceSpan;
- this.valueSpan = valueSpan;
- this.i18n = i18n;
- }
- visit(visitor, context) { return visitor.visitAttribute(this, context); }
-}
-class Element$1 {
- constructor(name, attrs, children, sourceSpan, startSourceSpan = null, endSourceSpan = null, i18n) {
- this.name = name;
- this.attrs = attrs;
- this.children = children;
- this.sourceSpan = sourceSpan;
- this.startSourceSpan = startSourceSpan;
- this.endSourceSpan = endSourceSpan;
- this.i18n = i18n;
- }
- visit(visitor, context) { return visitor.visitElement(this, context); }
-}
-class Comment {
- constructor(value, sourceSpan) {
- this.value = value;
- this.sourceSpan = sourceSpan;
- }
- visit(visitor, context) { return visitor.visitComment(this, context); }
-}
-function visitAll$1(visitor, nodes, context = null) {
- const result = [];
- const visit = visitor.visit ?
- (ast) => visitor.visit(ast, context) || ast.visit(visitor, context) :
- (ast) => ast.visit(visitor, context);
- nodes.forEach(ast => {
- const astResult = visit(ast);
- if (astResult) {
- result.push(astResult);
- }
- });
- return result;
-}
-class RecursiveVisitor$1 {
- constructor() { }
- visitElement(ast, context) {
- this.visitChildren(context, visit => {
- visit(ast.attrs);
- visit(ast.children);
- });
- }
- visitAttribute(ast, context) { }
- visitText(ast, context) { }
- visitComment(ast, context) { }
- visitExpansion(ast, context) {
- return this.visitChildren(context, visit => { visit(ast.cases); });
- }
- visitExpansionCase(ast, context) { }
- visitChildren(context, cb) {
- let results = [];
- let t = this;
- function visit(children) {
- if (children)
- results.push(visitAll$1(t, children, context));
- }
- cb(visit);
- return Array.prototype.concat.apply([], results);
- }
-}
-function spanOf(ast) {
- const start = ast.sourceSpan.start.offset;
- let end = ast.sourceSpan.end.offset;
- if (ast instanceof Element$1) {
- if (ast.endSourceSpan) {
- end = ast.endSourceSpan.end.offset;
- }
- else if (ast.children && ast.children.length) {
- end = spanOf(ast.children[ast.children.length - 1]).end;
- }
- }
- return { start, end };
-}
-function findNode(nodes, position) {
- const path = [];
- const visitor = new class extends RecursiveVisitor$1 {
- visit(ast, context) {
- const span = spanOf(ast);
- if (span.start <= position && position < span.end) {
- path.push(ast);
- }
- else {
- // Returning a value here will result in the children being skipped.
- return true;
- }
- }
- };
- visitAll$1(visitor, nodes);
- return new AstPath(path, position);
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-var TokenType;
-(function (TokenType) {
- TokenType[TokenType["TAG_OPEN_START"] = 0] = "TAG_OPEN_START";
- TokenType[TokenType["TAG_OPEN_END"] = 1] = "TAG_OPEN_END";
- TokenType[TokenType["TAG_OPEN_END_VOID"] = 2] = "TAG_OPEN_END_VOID";
- TokenType[TokenType["TAG_CLOSE"] = 3] = "TAG_CLOSE";
- TokenType[TokenType["TEXT"] = 4] = "TEXT";
- TokenType[TokenType["ESCAPABLE_RAW_TEXT"] = 5] = "ESCAPABLE_RAW_TEXT";
- TokenType[TokenType["RAW_TEXT"] = 6] = "RAW_TEXT";
- TokenType[TokenType["COMMENT_START"] = 7] = "COMMENT_START";
- TokenType[TokenType["COMMENT_END"] = 8] = "COMMENT_END";
- TokenType[TokenType["CDATA_START"] = 9] = "CDATA_START";
- TokenType[TokenType["CDATA_END"] = 10] = "CDATA_END";
- TokenType[TokenType["ATTR_NAME"] = 11] = "ATTR_NAME";
- TokenType[TokenType["ATTR_QUOTE"] = 12] = "ATTR_QUOTE";
- TokenType[TokenType["ATTR_VALUE"] = 13] = "ATTR_VALUE";
- TokenType[TokenType["DOC_TYPE"] = 14] = "DOC_TYPE";
- TokenType[TokenType["EXPANSION_FORM_START"] = 15] = "EXPANSION_FORM_START";
- TokenType[TokenType["EXPANSION_CASE_VALUE"] = 16] = "EXPANSION_CASE_VALUE";
- TokenType[TokenType["EXPANSION_CASE_EXP_START"] = 17] = "EXPANSION_CASE_EXP_START";
- TokenType[TokenType["EXPANSION_CASE_EXP_END"] = 18] = "EXPANSION_CASE_EXP_END";
- TokenType[TokenType["EXPANSION_FORM_END"] = 19] = "EXPANSION_FORM_END";
- TokenType[TokenType["EOF"] = 20] = "EOF";
-})(TokenType || (TokenType = {}));
-class Token {
- constructor(type, parts, sourceSpan) {
- this.type = type;
- this.parts = parts;
- this.sourceSpan = sourceSpan;
- }
-}
-class TokenError extends ParseError {
- constructor(errorMsg, tokenType, span) {
- super(span, errorMsg);
- this.tokenType = tokenType;
- }
-}
-class TokenizeResult {
- constructor(tokens, errors) {
- this.tokens = tokens;
- this.errors = errors;
- }
-}
-function tokenize(source, url, getTagDefinition, options = {}) {
- return new _Tokenizer(new ParseSourceFile(source, url), getTagDefinition, options).tokenize();
-}
-const _CR_OR_CRLF_REGEXP = /\r\n?/g;
-function _unexpectedCharacterErrorMsg(charCode) {
- const char = charCode === $EOF ? 'EOF' : String.fromCharCode(charCode);
- return `Unexpected character "${char}"`;
-}
-function _unknownEntityErrorMsg(entitySrc) {
- return `Unknown entity "${entitySrc}" - use the ";" or ";" syntax`;
-}
-class _ControlFlowError {
- constructor(error) {
- this.error = error;
- }
-}
-// See http://www.w3.org/TR/html51/syntax.html#writing
-class _Tokenizer {
- /**
- * @param _file The html source file being tokenized.
- * @param _getTagDefinition A function that will retrieve a tag definition for a given tag name.
- * @param options Configuration of the tokenization.
- */
- constructor(_file, _getTagDefinition, options) {
- this._getTagDefinition = _getTagDefinition;
- this._currentTokenStart = null;
- this._currentTokenType = null;
- this._expansionCaseStack = [];
- this._inInterpolation = false;
- this.tokens = [];
- this.errors = [];
- this._tokenizeIcu = options.tokenizeExpansionForms || false;
- this._interpolationConfig = options.interpolationConfig || DEFAULT_INTERPOLATION_CONFIG;
- this._leadingTriviaCodePoints =
- options.leadingTriviaChars && options.leadingTriviaChars.map(c => c.codePointAt(0) || 0);
- const range = options.range || { endPos: _file.content.length, startPos: 0, startLine: 0, startCol: 0 };
- this._cursor = options.escapedString ? new EscapedCharacterCursor(_file, range) :
- new PlainCharacterCursor(_file, range);
- try {
- this._cursor.init();
- }
- catch (e) {
- this.handleError(e);
- }
- }
- _processCarriageReturns(content) {
- // http://www.w3.org/TR/html5/syntax.html#preprocessing-the-input-stream
- // In order to keep the original position in the source, we can not
- // pre-process it.
- // Instead CRs are processed right before instantiating the tokens.
- return content.replace(_CR_OR_CRLF_REGEXP, '\n');
- }
- tokenize() {
- while (this._cursor.peek() !== $EOF) {
- const start = this._cursor.clone();
- try {
- if (this._attemptCharCode($LT)) {
- if (this._attemptCharCode($BANG)) {
- if (this._attemptCharCode($LBRACKET)) {
- this._consumeCdata(start);
- }
- else if (this._attemptCharCode($MINUS)) {
- this._consumeComment(start);
- }
- else {
- this._consumeDocType(start);
- }
- }
- else if (this._attemptCharCode($SLASH)) {
- this._consumeTagClose(start);
- }
- else {
- this._consumeTagOpen(start);
- }
- }
- else if (!(this._tokenizeIcu && this._tokenizeExpansionForm())) {
- this._consumeText();
- }
- }
- catch (e) {
- this.handleError(e);
- }
- }
- this._beginToken(TokenType.EOF);
- this._endToken([]);
- return new TokenizeResult(mergeTextTokens(this.tokens), this.errors);
- }
- /**
- * @returns whether an ICU token has been created
- * @internal
- */
- _tokenizeExpansionForm() {
- if (this.isExpansionFormStart()) {
- this._consumeExpansionFormStart();
- return true;
- }
- if (isExpansionCaseStart(this._cursor.peek()) && this._isInExpansionForm()) {
- this._consumeExpansionCaseStart();
- return true;
- }
- if (this._cursor.peek() === $RBRACE) {
- if (this._isInExpansionCase()) {
- this._consumeExpansionCaseEnd();
- return true;
- }
- if (this._isInExpansionForm()) {
- this._consumeExpansionFormEnd();
- return true;
- }
- }
- return false;
- }
- _beginToken(type, start = this._cursor.clone()) {
- this._currentTokenStart = start;
- this._currentTokenType = type;
- }
- _endToken(parts, end = this._cursor.clone()) {
- if (this._currentTokenStart === null) {
- throw new TokenError('Programming error - attempted to end a token when there was no start to the token', this._currentTokenType, this._cursor.getSpan(end));
- }
- if (this._currentTokenType === null) {
- throw new TokenError('Programming error - attempted to end a token which has no token type', null, this._cursor.getSpan(this._currentTokenStart));
- }
- const token = new Token(this._currentTokenType, parts, this._cursor.getSpan(this._currentTokenStart, this._leadingTriviaCodePoints));
- this.tokens.push(token);
- this._currentTokenStart = null;
- this._currentTokenType = null;
- return token;
- }
- _createError(msg, span) {
- if (this._isInExpansionForm()) {
- msg += ` (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.)`;
- }
- const error = new TokenError(msg, this._currentTokenType, span);
- this._currentTokenStart = null;
- this._currentTokenType = null;
- return new _ControlFlowError(error);
- }
- handleError(e) {
- if (e instanceof CursorError) {
- e = this._createError(e.msg, this._cursor.getSpan(e.cursor));
- }
- if (e instanceof _ControlFlowError) {
- this.errors.push(e.error);
- }
- else {
- throw e;
- }
- }
- _attemptCharCode(charCode) {
- if (this._cursor.peek() === charCode) {
- this._cursor.advance();
- return true;
- }
- return false;
- }
- _attemptCharCodeCaseInsensitive(charCode) {
- if (compareCharCodeCaseInsensitive(this._cursor.peek(), charCode)) {
- this._cursor.advance();
- return true;
- }
- return false;
- }
- _requireCharCode(charCode) {
- const location = this._cursor.clone();
- if (!this._attemptCharCode(charCode)) {
- throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(location));
- }
- }
- _attemptStr(chars) {
- const len = chars.length;
- if (this._cursor.charsLeft() < len) {
- return false;
- }
- const initialPosition = this._cursor.clone();
- for (let i = 0; i < len; i++) {
- if (!this._attemptCharCode(chars.charCodeAt(i))) {
- // If attempting to parse the string fails, we want to reset the parser
- // to where it was before the attempt
- this._cursor = initialPosition;
- return false;
- }
- }
- return true;
- }
- _attemptStrCaseInsensitive(chars) {
- for (let i = 0; i < chars.length; i++) {
- if (!this._attemptCharCodeCaseInsensitive(chars.charCodeAt(i))) {
- return false;
- }
- }
- return true;
- }
- _requireStr(chars) {
- const location = this._cursor.clone();
- if (!this._attemptStr(chars)) {
- throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(location));
- }
- }
- _attemptCharCodeUntilFn(predicate) {
- while (!predicate(this._cursor.peek())) {
- this._cursor.advance();
- }
- }
- _requireCharCodeUntilFn(predicate, len) {
- const start = this._cursor.clone();
- this._attemptCharCodeUntilFn(predicate);
- const end = this._cursor.clone();
- if (end.diff(start) < len) {
- throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(start));
- }
- }
- _attemptUntilChar(char) {
- while (this._cursor.peek() !== char) {
- this._cursor.advance();
- }
- }
- _readChar(decodeEntities) {
- if (decodeEntities && this._cursor.peek() === $AMPERSAND) {
- return this._decodeEntity();
- }
- else {
- // Don't rely upon reading directly from `_input` as the actual char value
- // may have been generated from an escape sequence.
- const char = String.fromCodePoint(this._cursor.peek());
- this._cursor.advance();
- return char;
- }
- }
- _decodeEntity() {
- const start = this._cursor.clone();
- this._cursor.advance();
- if (this._attemptCharCode($HASH)) {
- const isHex = this._attemptCharCode($x) || this._attemptCharCode($X);
- const codeStart = this._cursor.clone();
- this._attemptCharCodeUntilFn(isDigitEntityEnd);
- if (this._cursor.peek() != $SEMICOLON) {
- throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan());
- }
- const strNum = this._cursor.getChars(codeStart);
- this._cursor.advance();
- try {
- const charCode = parseInt(strNum, isHex ? 16 : 10);
- return String.fromCharCode(charCode);
- }
- catch (_a) {
- throw this._createError(_unknownEntityErrorMsg(this._cursor.getChars(start)), this._cursor.getSpan());
- }
- }
- else {
- const nameStart = this._cursor.clone();
- this._attemptCharCodeUntilFn(isNamedEntityEnd);
- if (this._cursor.peek() != $SEMICOLON) {
- this._cursor = nameStart;
- return '&';
- }
- const name = this._cursor.getChars(nameStart);
- this._cursor.advance();
- const char = NAMED_ENTITIES[name];
- if (!char) {
- throw this._createError(_unknownEntityErrorMsg(name), this._cursor.getSpan(start));
- }
- return char;
- }
- }
- _consumeRawText(decodeEntities, endMarkerPredicate) {
- this._beginToken(decodeEntities ? TokenType.ESCAPABLE_RAW_TEXT : TokenType.RAW_TEXT);
- const parts = [];
- while (true) {
- const tagCloseStart = this._cursor.clone();
- const foundEndMarker = endMarkerPredicate();
- this._cursor = tagCloseStart;
- if (foundEndMarker) {
- break;
- }
- parts.push(this._readChar(decodeEntities));
- }
- return this._endToken([this._processCarriageReturns(parts.join(''))]);
- }
- _consumeComment(start) {
- this._beginToken(TokenType.COMMENT_START, start);
- this._requireCharCode($MINUS);
- this._endToken([]);
- this._consumeRawText(false, () => this._attemptStr('-->'));
- this._beginToken(TokenType.COMMENT_END);
- this._requireStr('-->');
- this._endToken([]);
- }
- _consumeCdata(start) {
- this._beginToken(TokenType.CDATA_START, start);
- this._requireStr('CDATA[');
- this._endToken([]);
- this._consumeRawText(false, () => this._attemptStr(']]>'));
- this._beginToken(TokenType.CDATA_END);
- this._requireStr(']]>');
- this._endToken([]);
- }
- _consumeDocType(start) {
- this._beginToken(TokenType.DOC_TYPE, start);
- const contentStart = this._cursor.clone();
- this._attemptUntilChar($GT);
- const content = this._cursor.getChars(contentStart);
- this._cursor.advance();
- this._endToken([content]);
- }
- _consumePrefixAndName() {
- const nameOrPrefixStart = this._cursor.clone();
- let prefix = '';
- while (this._cursor.peek() !== $COLON && !isPrefixEnd(this._cursor.peek())) {
- this._cursor.advance();
- }
- let nameStart;
- if (this._cursor.peek() === $COLON) {
- prefix = this._cursor.getChars(nameOrPrefixStart);
- this._cursor.advance();
- nameStart = this._cursor.clone();
- }
- else {
- nameStart = nameOrPrefixStart;
- }
- this._requireCharCodeUntilFn(isNameEnd, prefix === '' ? 0 : 1);
- const name = this._cursor.getChars(nameStart);
- return [prefix, name];
- }
- _consumeTagOpen(start) {
- let tagName;
- let prefix;
- let openTagToken;
- let tokensBeforeTagOpen = this.tokens.length;
- const innerStart = this._cursor.clone();
- try {
- if (!isAsciiLetter(this._cursor.peek())) {
- throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(start));
- }
- openTagToken = this._consumeTagOpenStart(start);
- prefix = openTagToken.parts[0];
- tagName = openTagToken.parts[1];
- this._attemptCharCodeUntilFn(isNotWhitespace);
- while (this._cursor.peek() !== $SLASH && this._cursor.peek() !== $GT) {
- this._consumeAttributeName();
- this._attemptCharCodeUntilFn(isNotWhitespace);
- if (this._attemptCharCode($EQ)) {
- this._attemptCharCodeUntilFn(isNotWhitespace);
- this._consumeAttributeValue();
- }
- this._attemptCharCodeUntilFn(isNotWhitespace);
- }
- this._consumeTagOpenEnd();
- }
- catch (e) {
- if (e instanceof _ControlFlowError) {
- // When the start tag is invalid (including invalid "attributes"), assume we want a "<"
- this._cursor = innerStart;
- if (openTagToken) {
- this.tokens.length = tokensBeforeTagOpen;
- }
- // Back to back text tokens are merged at the end
- this._beginToken(TokenType.TEXT, start);
- this._endToken(['<']);
- return;
- }
- throw e;
- }
- const contentTokenType = this._getTagDefinition(tagName).contentType;
- if (contentTokenType === TagContentType.RAW_TEXT) {
- this._consumeRawTextWithTagClose(prefix, tagName, false);
- }
- else if (contentTokenType === TagContentType.ESCAPABLE_RAW_TEXT) {
- this._consumeRawTextWithTagClose(prefix, tagName, true);
- }
- }
- _consumeRawTextWithTagClose(prefix, tagName, decodeEntities) {
- const textToken = this._consumeRawText(decodeEntities, () => {
- if (!this._attemptCharCode($LT))
- return false;
- if (!this._attemptCharCode($SLASH))
- return false;
- this._attemptCharCodeUntilFn(isNotWhitespace);
- if (!this._attemptStrCaseInsensitive(tagName))
- return false;
- this._attemptCharCodeUntilFn(isNotWhitespace);
- return this._attemptCharCode($GT);
- });
- this._beginToken(TokenType.TAG_CLOSE);
- this._requireCharCodeUntilFn(code => code === $GT, 3);
- this._cursor.advance(); // Consume the `>`
- this._endToken([prefix, tagName]);
- }
- _consumeTagOpenStart(start) {
- this._beginToken(TokenType.TAG_OPEN_START, start);
- const parts = this._consumePrefixAndName();
- return this._endToken(parts);
- }
- _consumeAttributeName() {
- const attrNameStart = this._cursor.peek();
- if (attrNameStart === $SQ || attrNameStart === $DQ) {
- throw this._createError(_unexpectedCharacterErrorMsg(attrNameStart), this._cursor.getSpan());
- }
- this._beginToken(TokenType.ATTR_NAME);
- const prefixAndName = this._consumePrefixAndName();
- this._endToken(prefixAndName);
- }
- _consumeAttributeValue() {
- let value;
- if (this._cursor.peek() === $SQ || this._cursor.peek() === $DQ) {
- this._beginToken(TokenType.ATTR_QUOTE);
- const quoteChar = this._cursor.peek();
- this._cursor.advance();
- this._endToken([String.fromCodePoint(quoteChar)]);
- this._beginToken(TokenType.ATTR_VALUE);
- const parts = [];
- while (this._cursor.peek() !== quoteChar) {
- parts.push(this._readChar(true));
- }
- value = parts.join('');
- this._endToken([this._processCarriageReturns(value)]);
- this._beginToken(TokenType.ATTR_QUOTE);
- this._cursor.advance();
- this._endToken([String.fromCodePoint(quoteChar)]);
- }
- else {
- this._beginToken(TokenType.ATTR_VALUE);
- const valueStart = this._cursor.clone();
- this._requireCharCodeUntilFn(isNameEnd, 1);
- value = this._cursor.getChars(valueStart);
- this._endToken([this._processCarriageReturns(value)]);
- }
- }
- _consumeTagOpenEnd() {
- const tokenType = this._attemptCharCode($SLASH) ? TokenType.TAG_OPEN_END_VOID : TokenType.TAG_OPEN_END;
- this._beginToken(tokenType);
- this._requireCharCode($GT);
- this._endToken([]);
- }
- _consumeTagClose(start) {
- this._beginToken(TokenType.TAG_CLOSE, start);
- this._attemptCharCodeUntilFn(isNotWhitespace);
- const prefixAndName = this._consumePrefixAndName();
- this._attemptCharCodeUntilFn(isNotWhitespace);
- this._requireCharCode($GT);
- this._endToken(prefixAndName);
- }
- _consumeExpansionFormStart() {
- this._beginToken(TokenType.EXPANSION_FORM_START);
- this._requireCharCode($LBRACE);
- this._endToken([]);
- this._expansionCaseStack.push(TokenType.EXPANSION_FORM_START);
- this._beginToken(TokenType.RAW_TEXT);
- const condition = this._readUntil($COMMA);
- this._endToken([condition]);
- this._requireCharCode($COMMA);
- this._attemptCharCodeUntilFn(isNotWhitespace);
- this._beginToken(TokenType.RAW_TEXT);
- const type = this._readUntil($COMMA);
- this._endToken([type]);
- this._requireCharCode($COMMA);
- this._attemptCharCodeUntilFn(isNotWhitespace);
- }
- _consumeExpansionCaseStart() {
- this._beginToken(TokenType.EXPANSION_CASE_VALUE);
- const value = this._readUntil($LBRACE).trim();
- this._endToken([value]);
- this._attemptCharCodeUntilFn(isNotWhitespace);
- this._beginToken(TokenType.EXPANSION_CASE_EXP_START);
- this._requireCharCode($LBRACE);
- this._endToken([]);
- this._attemptCharCodeUntilFn(isNotWhitespace);
- this._expansionCaseStack.push(TokenType.EXPANSION_CASE_EXP_START);
- }
- _consumeExpansionCaseEnd() {
- this._beginToken(TokenType.EXPANSION_CASE_EXP_END);
- this._requireCharCode($RBRACE);
- this._endToken([]);
- this._attemptCharCodeUntilFn(isNotWhitespace);
- this._expansionCaseStack.pop();
- }
- _consumeExpansionFormEnd() {
- this._beginToken(TokenType.EXPANSION_FORM_END);
- this._requireCharCode($RBRACE);
- this._endToken([]);
- this._expansionCaseStack.pop();
- }
- _consumeText() {
- const start = this._cursor.clone();
- this._beginToken(TokenType.TEXT, start);
- const parts = [];
- do {
- if (this._interpolationConfig && this._attemptStr(this._interpolationConfig.start)) {
- parts.push(this._interpolationConfig.start);
- this._inInterpolation = true;
- }
- else if (this._interpolationConfig && this._inInterpolation &&
- this._attemptStr(this._interpolationConfig.end)) {
- parts.push(this._interpolationConfig.end);
- this._inInterpolation = false;
- }
- else {
- parts.push(this._readChar(true));
- }
- } while (!this._isTextEnd());
- this._endToken([this._processCarriageReturns(parts.join(''))]);
- }
- _isTextEnd() {
- if (this._cursor.peek() === $LT || this._cursor.peek() === $EOF) {
- return true;
- }
- if (this._tokenizeIcu && !this._inInterpolation) {
- if (this.isExpansionFormStart()) {
- // start of an expansion form
- return true;
- }
- if (this._cursor.peek() === $RBRACE && this._isInExpansionCase()) {
- // end of and expansion case
- return true;
- }
- }
- return false;
- }
- _readUntil(char) {
- const start = this._cursor.clone();
- this._attemptUntilChar(char);
- return this._cursor.getChars(start);
- }
- _isInExpansionCase() {
- return this._expansionCaseStack.length > 0 &&
- this._expansionCaseStack[this._expansionCaseStack.length - 1] ===
- TokenType.EXPANSION_CASE_EXP_START;
- }
- _isInExpansionForm() {
- return this._expansionCaseStack.length > 0 &&
- this._expansionCaseStack[this._expansionCaseStack.length - 1] ===
- TokenType.EXPANSION_FORM_START;
- }
- isExpansionFormStart() {
- if (this._cursor.peek() !== $LBRACE) {
- return false;
- }
- if (this._interpolationConfig) {
- const start = this._cursor.clone();
- const isInterpolation = this._attemptStr(this._interpolationConfig.start);
- this._cursor = start;
- return !isInterpolation;
- }
- return true;
- }
-}
-function isNotWhitespace(code) {
- return !isWhitespace(code) || code === $EOF;
-}
-function isNameEnd(code) {
- return isWhitespace(code) || code === $GT || code === $SLASH ||
- code === $SQ || code === $DQ || code === $EQ;
-}
-function isPrefixEnd(code) {
- return (code < $a || $z < code) && (code < $A || $Z < code) &&
- (code < $0 || code > $9);
-}
-function isDigitEntityEnd(code) {
- return code == $SEMICOLON || code == $EOF || !isAsciiHexDigit(code);
-}
-function isNamedEntityEnd(code) {
- return code == $SEMICOLON || code == $EOF || !isAsciiLetter(code);
-}
-function isExpansionCaseStart(peek) {
- return peek === $EQ || isAsciiLetter(peek) || isDigit(peek);
-}
-function compareCharCodeCaseInsensitive(code1, code2) {
- return toUpperCaseCharCode(code1) == toUpperCaseCharCode(code2);
-}
-function toUpperCaseCharCode(code) {
- return code >= $a && code <= $z ? code - $a + $A : code;
-}
-function mergeTextTokens(srcTokens) {
- const dstTokens = [];
- let lastDstToken = undefined;
- for (let i = 0; i < srcTokens.length; i++) {
- const token = srcTokens[i];
- if (lastDstToken && lastDstToken.type == TokenType.TEXT && token.type == TokenType.TEXT) {
- lastDstToken.parts[0] += token.parts[0];
- lastDstToken.sourceSpan.end = token.sourceSpan.end;
- }
- else {
- lastDstToken = token;
- dstTokens.push(lastDstToken);
- }
- }
- return dstTokens;
-}
-class PlainCharacterCursor {
- constructor(fileOrCursor, range) {
- if (fileOrCursor instanceof PlainCharacterCursor) {
- this.file = fileOrCursor.file;
- this.input = fileOrCursor.input;
- this.end = fileOrCursor.end;
- this.state = Object.assign({}, fileOrCursor.state);
- }
- else {
- if (!range) {
- throw new Error('Programming error: the range argument must be provided with a file argument.');
- }
- this.file = fileOrCursor;
- this.input = fileOrCursor.content;
- this.end = range.endPos;
- this.state = {
- peek: -1,
- offset: range.startPos,
- line: range.startLine,
- column: range.startCol,
- };
- }
- }
- clone() { return new PlainCharacterCursor(this); }
- peek() { return this.state.peek; }
- charsLeft() { return this.end - this.state.offset; }
- diff(other) { return this.state.offset - other.state.offset; }
- advance() { this.advanceState(this.state); }
- init() { this.updatePeek(this.state); }
- getSpan(start, leadingTriviaCodePoints) {
- start = start || this;
- if (leadingTriviaCodePoints) {
- start = start.clone();
- while (this.diff(start) > 0 && leadingTriviaCodePoints.indexOf(start.peek()) !== -1) {
- start.advance();
- }
- }
- return new ParseSourceSpan(new ParseLocation(start.file, start.state.offset, start.state.line, start.state.column), new ParseLocation(this.file, this.state.offset, this.state.line, this.state.column));
- }
- getChars(start) {
- return this.input.substring(start.state.offset, this.state.offset);
- }
- charAt(pos) { return this.input.charCodeAt(pos); }
- advanceState(state) {
- if (state.offset >= this.end) {
- this.state = state;
- throw new CursorError('Unexpected character "EOF"', this);
- }
- const currentChar = this.charAt(state.offset);
- if (currentChar === $LF) {
- state.line++;
- state.column = 0;
- }
- else if (!isNewLine(currentChar)) {
- state.column++;
- }
- state.offset++;
- this.updatePeek(state);
- }
- updatePeek(state) {
- state.peek = state.offset >= this.end ? $EOF : this.charAt(state.offset);
- }
-}
-class EscapedCharacterCursor extends PlainCharacterCursor {
- constructor(fileOrCursor, range) {
- if (fileOrCursor instanceof EscapedCharacterCursor) {
- super(fileOrCursor);
- this.internalState = Object.assign({}, fileOrCursor.internalState);
- }
- else {
- super(fileOrCursor, range);
- this.internalState = this.state;
- }
- }
- advance() {
- this.state = this.internalState;
- super.advance();
- this.processEscapeSequence();
- }
- init() {
- super.init();
- this.processEscapeSequence();
- }
- clone() { return new EscapedCharacterCursor(this); }
- getChars(start) {
- const cursor = start.clone();
- let chars = '';
- while (cursor.internalState.offset < this.internalState.offset) {
- chars += String.fromCodePoint(cursor.peek());
- cursor.advance();
- }
- return chars;
- }
- /**
- * Process the escape sequence that starts at the current position in the text.
- *
- * This method is called to ensure that `peek` has the unescaped value of escape sequences.
- */
- processEscapeSequence() {
- const peek = () => this.internalState.peek;
- if (peek() === $BACKSLASH) {
- // We have hit an escape sequence so we need the internal state to become independent
- // of the external state.
- this.internalState = Object.assign({}, this.state);
- // Move past the backslash
- this.advanceState(this.internalState);
- // First check for standard control char sequences
- if (peek() === $n) {
- this.state.peek = $LF;
- }
- else if (peek() === $r) {
- this.state.peek = $CR;
- }
- else if (peek() === $v) {
- this.state.peek = $VTAB;
- }
- else if (peek() === $t) {
- this.state.peek = $TAB;
- }
- else if (peek() === $b) {
- this.state.peek = $BSPACE;
- }
- else if (peek() === $f) {
- this.state.peek = $FF;
- }
- // Now consider more complex sequences
- else if (peek() === $u) {
- // Unicode code-point sequence
- this.advanceState(this.internalState); // advance past the `u` char
- if (peek() === $LBRACE) {
- // Variable length Unicode, e.g. `\x{123}`
- this.advanceState(this.internalState); // advance past the `{` char
- // Advance past the variable number of hex digits until we hit a `}` char
- const digitStart = this.clone();
- let length = 0;
- while (peek() !== $RBRACE) {
- this.advanceState(this.internalState);
- length++;
- }
- this.state.peek = this.decodeHexDigits(digitStart, length);
- }
- else {
- // Fixed length Unicode, e.g. `\u1234`
- const digitStart = this.clone();
- this.advanceState(this.internalState);
- this.advanceState(this.internalState);
- this.advanceState(this.internalState);
- this.state.peek = this.decodeHexDigits(digitStart, 4);
- }
- }
- else if (peek() === $x) {
- // Hex char code, e.g. `\x2F`
- this.advanceState(this.internalState); // advance past the `x` char
- const digitStart = this.clone();
- this.advanceState(this.internalState);
- this.state.peek = this.decodeHexDigits(digitStart, 2);
- }
- else if (isOctalDigit(peek())) {
- // Octal char code, e.g. `\012`,
- let octal = '';
- let length = 0;
- let previous = this.clone();
- while (isOctalDigit(peek()) && length < 3) {
- previous = this.clone();
- octal += String.fromCodePoint(peek());
- this.advanceState(this.internalState);
- length++;
- }
- this.state.peek = parseInt(octal, 8);
- // Backup one char
- this.internalState = previous.internalState;
- }
- else if (isNewLine(this.internalState.peek)) {
- // Line continuation `\` followed by a new line
- this.advanceState(this.internalState); // advance over the newline
- this.state = this.internalState;
- }
- else {
- // If none of the `if` blocks were executed then we just have an escaped normal character.
- // In that case we just, effectively, skip the backslash from the character.
- this.state.peek = this.internalState.peek;
- }
- }
- }
- decodeHexDigits(start, length) {
- const hex = this.input.substr(start.internalState.offset, length);
- const charCode = parseInt(hex, 16);
- if (!isNaN(charCode)) {
- return charCode;
- }
- else {
- start.state = start.internalState;
- throw new CursorError('Invalid hexadecimal escape sequence', start);
- }
- }
-}
-class CursorError {
- constructor(msg, cursor) {
- this.msg = msg;
- this.cursor = cursor;
- }
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-class TreeError extends ParseError {
- constructor(elementName, span, msg) {
- super(span, msg);
- this.elementName = elementName;
- }
- static create(elementName, span, msg) {
- return new TreeError(elementName, span, msg);
- }
-}
-class ParseTreeResult {
- constructor(rootNodes, errors) {
- this.rootNodes = rootNodes;
- this.errors = errors;
- }
-}
-class Parser {
- constructor(getTagDefinition) {
- this.getTagDefinition = getTagDefinition;
- }
- parse(source, url, options) {
- const tokensAndErrors = tokenize(source, url, this.getTagDefinition, options);
- const treeAndErrors = new _TreeBuilder(tokensAndErrors.tokens, this.getTagDefinition).build();
- return new ParseTreeResult(treeAndErrors.rootNodes, tokensAndErrors.errors.concat(treeAndErrors.errors));
- }
-}
-class _TreeBuilder {
- constructor(tokens, getTagDefinition) {
- this.tokens = tokens;
- this.getTagDefinition = getTagDefinition;
- this._index = -1;
- this._rootNodes = [];
- this._errors = [];
- this._elementStack = [];
- this._advance();
- }
- build() {
- while (this._peek.type !== TokenType.EOF) {
- if (this._peek.type === TokenType.TAG_OPEN_START) {
- this._consumeStartTag(this._advance());
- }
- else if (this._peek.type === TokenType.TAG_CLOSE) {
- this._consumeEndTag(this._advance());
- }
- else if (this._peek.type === TokenType.CDATA_START) {
- this._closeVoidElement();
- this._consumeCdata(this._advance());
- }
- else if (this._peek.type === TokenType.COMMENT_START) {
- this._closeVoidElement();
- this._consumeComment(this._advance());
- }
- else if (this._peek.type === TokenType.TEXT || this._peek.type === TokenType.RAW_TEXT ||
- this._peek.type === TokenType.ESCAPABLE_RAW_TEXT) {
- this._closeVoidElement();
- this._consumeText(this._advance());
- }
- else if (this._peek.type === TokenType.EXPANSION_FORM_START) {
- this._consumeExpansion(this._advance());
- }
- else {
- // Skip all other tokens...
- this._advance();
- }
- }
- return new ParseTreeResult(this._rootNodes, this._errors);
- }
- _advance() {
- const prev = this._peek;
- if (this._index < this.tokens.length - 1) {
- // Note: there is always an EOF token at the end
- this._index++;
- }
- this._peek = this.tokens[this._index];
- return prev;
- }
- _advanceIf(type) {
- if (this._peek.type === type) {
- return this._advance();
- }
- return null;
- }
- _consumeCdata(startToken) {
- this._consumeText(this._advance());
- this._advanceIf(TokenType.CDATA_END);
- }
- _consumeComment(token) {
- const text = this._advanceIf(TokenType.RAW_TEXT);
- this._advanceIf(TokenType.COMMENT_END);
- const value = text != null ? text.parts[0].trim() : null;
- this._addToParent(new Comment(value, token.sourceSpan));
- }
- _consumeExpansion(token) {
- const switchValue = this._advance();
- const type = this._advance();
- const cases = [];
- // read =
- while (this._peek.type === TokenType.EXPANSION_CASE_VALUE) {
- const expCase = this._parseExpansionCase();
- if (!expCase)
- return; // error
- cases.push(expCase);
- }
- // read the final }
- if (this._peek.type !== TokenType.EXPANSION_FORM_END) {
- this._errors.push(TreeError.create(null, this._peek.sourceSpan, `Invalid ICU message. Missing '}'.`));
- return;
- }
- const sourceSpan = new ParseSourceSpan(token.sourceSpan.start, this._peek.sourceSpan.end);
- this._addToParent(new Expansion(switchValue.parts[0], type.parts[0], cases, sourceSpan, switchValue.sourceSpan));
- this._advance();
- }
- _parseExpansionCase() {
- const value = this._advance();
- // read {
- if (this._peek.type !== TokenType.EXPANSION_CASE_EXP_START) {
- this._errors.push(TreeError.create(null, this._peek.sourceSpan, `Invalid ICU message. Missing '{'.`));
- return null;
- }
- // read until }
- const start = this._advance();
- const exp = this._collectExpansionExpTokens(start);
- if (!exp)
- return null;
- const end = this._advance();
- exp.push(new Token(TokenType.EOF, [], end.sourceSpan));
- // parse everything in between { and }
- const parsedExp = new _TreeBuilder(exp, this.getTagDefinition).build();
- if (parsedExp.errors.length > 0) {
- this._errors = this._errors.concat(parsedExp.errors);
- return null;
- }
- const sourceSpan = new ParseSourceSpan(value.sourceSpan.start, end.sourceSpan.end);
- const expSourceSpan = new ParseSourceSpan(start.sourceSpan.start, end.sourceSpan.end);
- return new ExpansionCase(value.parts[0], parsedExp.rootNodes, sourceSpan, value.sourceSpan, expSourceSpan);
- }
- _collectExpansionExpTokens(start) {
- const exp = [];
- const expansionFormStack = [TokenType.EXPANSION_CASE_EXP_START];
- while (true) {
- if (this._peek.type === TokenType.EXPANSION_FORM_START ||
- this._peek.type === TokenType.EXPANSION_CASE_EXP_START) {
- expansionFormStack.push(this._peek.type);
- }
- if (this._peek.type === TokenType.EXPANSION_CASE_EXP_END) {
- if (lastOnStack(expansionFormStack, TokenType.EXPANSION_CASE_EXP_START)) {
- expansionFormStack.pop();
- if (expansionFormStack.length == 0)
- return exp;
- }
- else {
- this._errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));
- return null;
- }
- }
- if (this._peek.type === TokenType.EXPANSION_FORM_END) {
- if (lastOnStack(expansionFormStack, TokenType.EXPANSION_FORM_START)) {
- expansionFormStack.pop();
- }
- else {
- this._errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));
- return null;
- }
- }
- if (this._peek.type === TokenType.EOF) {
- this._errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));
- return null;
- }
- exp.push(this._advance());
- }
- }
- _consumeText(token) {
- let text = token.parts[0];
- if (text.length > 0 && text[0] == '\n') {
- const parent = this._getParentElement();
- if (parent != null && parent.children.length == 0 &&
- this.getTagDefinition(parent.name).ignoreFirstLf) {
- text = text.substring(1);
- }
- }
- if (text.length > 0) {
- this._addToParent(new Text$3(text, token.sourceSpan));
- }
- }
- _closeVoidElement() {
- const el = this._getParentElement();
- if (el && this.getTagDefinition(el.name).isVoid) {
- this._elementStack.pop();
- }
- }
- _consumeStartTag(startTagToken) {
- const prefix = startTagToken.parts[0];
- const name = startTagToken.parts[1];
- const attrs = [];
- while (this._peek.type === TokenType.ATTR_NAME) {
- attrs.push(this._consumeAttr(this._advance()));
- }
- const fullName = this._getElementFullName(prefix, name, this._getParentElement());
- let selfClosing = false;
- // Note: There could have been a tokenizer error
- // so that we don't get a token for the end tag...
- if (this._peek.type === TokenType.TAG_OPEN_END_VOID) {
- this._advance();
- selfClosing = true;
- const tagDef = this.getTagDefinition(fullName);
- if (!(tagDef.canSelfClose || getNsPrefix(fullName) !== null || tagDef.isVoid)) {
- this._errors.push(TreeError.create(fullName, startTagToken.sourceSpan, `Only void and foreign elements can be self closed "${startTagToken.parts[1]}"`));
- }
- }
- else if (this._peek.type === TokenType.TAG_OPEN_END) {
- this._advance();
- selfClosing = false;
- }
- const end = this._peek.sourceSpan.start;
- const span = new ParseSourceSpan(startTagToken.sourceSpan.start, end);
- const el = new Element$1(fullName, attrs, [], span, span, undefined);
- this._pushElement(el);
- if (selfClosing) {
- this._popElement(fullName);
- el.endSourceSpan = span;
- }
- }
- _pushElement(el) {
- const parentEl = this._getParentElement();
- if (parentEl && this.getTagDefinition(parentEl.name).isClosedByChild(el.name)) {
- this._elementStack.pop();
- }
- this._addToParent(el);
- this._elementStack.push(el);
- }
- _consumeEndTag(endTagToken) {
- const fullName = this._getElementFullName(endTagToken.parts[0], endTagToken.parts[1], this._getParentElement());
- if (this._getParentElement()) {
- this._getParentElement().endSourceSpan = endTagToken.sourceSpan;
- }
- if (this.getTagDefinition(fullName).isVoid) {
- this._errors.push(TreeError.create(fullName, endTagToken.sourceSpan, `Void elements do not have end tags "${endTagToken.parts[1]}"`));
- }
- else if (!this._popElement(fullName)) {
- const errMsg = `Unexpected closing tag "${fullName}". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;
- this._errors.push(TreeError.create(fullName, endTagToken.sourceSpan, errMsg));
- }
- }
- _popElement(fullName) {
- for (let stackIndex = this._elementStack.length - 1; stackIndex >= 0; stackIndex--) {
- const el = this._elementStack[stackIndex];
- if (el.name == fullName) {
- this._elementStack.splice(stackIndex, this._elementStack.length - stackIndex);
- return true;
- }
- if (!this.getTagDefinition(el.name).closedByParent) {
- return false;
- }
- }
- return false;
- }
- _consumeAttr(attrName) {
- const fullName = mergeNsAndName(attrName.parts[0], attrName.parts[1]);
- let end = attrName.sourceSpan.end;
- let value = '';
- let valueSpan = undefined;
- if (this._peek.type === TokenType.ATTR_QUOTE) {
- this._advance();
- }
- if (this._peek.type === TokenType.ATTR_VALUE) {
- const valueToken = this._advance();
- value = valueToken.parts[0];
- end = valueToken.sourceSpan.end;
- valueSpan = valueToken.sourceSpan;
- }
- if (this._peek.type === TokenType.ATTR_QUOTE) {
- const quoteToken = this._advance();
- end = quoteToken.sourceSpan.end;
- }
- return new Attribute(fullName, value, new ParseSourceSpan(attrName.sourceSpan.start, end), valueSpan);
- }
- _getParentElement() {
- return this._elementStack.length > 0 ? this._elementStack[this._elementStack.length - 1] : null;
- }
- /**
- * Returns the parent in the DOM and the container.
- *
- * `` elements are skipped as they are not rendered as DOM element.
- */
- _getParentElementSkippingContainers() {
- let container = null;
- for (let i = this._elementStack.length - 1; i >= 0; i--) {
- if (!isNgContainer(this._elementStack[i].name)) {
- return { parent: this._elementStack[i], container };
- }
- container = this._elementStack[i];
- }
- return { parent: null, container };
- }
- _addToParent(node) {
- const parent = this._getParentElement();
- if (parent != null) {
- parent.children.push(node);
- }
- else {
- this._rootNodes.push(node);
- }
- }
- /**
- * Insert a node between the parent and the container.
- * When no container is given, the node is appended as a child of the parent.
- * Also updates the element stack accordingly.
- *
- * @internal
- */
- _insertBeforeContainer(parent, container, node) {
- if (!container) {
- this._addToParent(node);
- this._elementStack.push(node);
- }
- else {
- if (parent) {
- // replace the container with the new node in the children
- const index = parent.children.indexOf(container);
- parent.children[index] = node;
- }
- else {
- this._rootNodes.push(node);
- }
- node.children.push(container);
- this._elementStack.splice(this._elementStack.indexOf(container), 0, node);
- }
- }
- _getElementFullName(prefix, localName, parentElement) {
- if (prefix === '') {
- prefix = this.getTagDefinition(localName).implicitNamespacePrefix || '';
- if (prefix === '' && parentElement != null) {
- prefix = getNsPrefix(parentElement.name);
- }
- }
- return mergeNsAndName(prefix, localName);
- }
-}
-function lastOnStack(stack, element) {
- return stack.length > 0 && stack[stack.length - 1] === element;
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-class HtmlParser extends Parser {
- constructor() { super(getHtmlTagDefinition); }
- parse(source, url, options) {
- return super.parse(source, url, options);
- }
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-const PRESERVE_WS_ATTR_NAME = 'ngPreserveWhitespaces';
-const SKIP_WS_TRIM_TAGS = new Set(['pre', 'template', 'textarea', 'script', 'style']);
-// Equivalent to \s with \u00a0 (non-breaking space) excluded.
-// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
-const WS_CHARS = ' \f\n\r\t\v\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff';
-const NO_WS_REGEXP = new RegExp(`[^${WS_CHARS}]`);
-const WS_REPLACE_REGEXP = new RegExp(`[${WS_CHARS}]{2,}`, 'g');
-function hasPreserveWhitespacesAttr(attrs) {
- return attrs.some((attr) => attr.name === PRESERVE_WS_ATTR_NAME);
-}
-/**
- * Angular Dart introduced &ngsp; as a placeholder for non-removable space, see:
- * https://github.com/dart-lang/angular/blob/0bb611387d29d65b5af7f9d2515ab571fd3fbee4/_tests/test/compiler/preserve_whitespace_test.dart#L25-L32
- * In Angular Dart &ngsp; is converted to the 0xE500 PUA (Private Use Areas) unicode character
- * and later on replaced by a space. We are re-implementing the same idea here.
- */
-function replaceNgsp(value) {
- // lexer is replacing the &ngsp; pseudo-entity with NGSP_UNICODE
- return value.replace(new RegExp(NGSP_UNICODE, 'g'), ' ');
-}
-/**
- * This visitor can walk HTML parse tree and remove / trim text nodes using the following rules:
- * - consider spaces, tabs and new lines as whitespace characters;
- * - drop text nodes consisting of whitespace characters only;
- * - for all other text nodes replace consecutive whitespace characters with one space;
- * - convert &ngsp; pseudo-entity to a single space;
- *
- * Removal and trimming of whitespaces have positive performance impact (less code to generate
- * while compiling templates, faster view creation). At the same time it can be "destructive"
- * in some cases (whitespaces can influence layout). Because of the potential of breaking layout
- * this visitor is not activated by default in Angular 5 and people need to explicitly opt-in for
- * whitespace removal. The default option for whitespace removal will be revisited in Angular 6
- * and might be changed to "on" by default.
- */
-class WhitespaceVisitor {
- visitElement(element, context) {
- if (SKIP_WS_TRIM_TAGS.has(element.name) || hasPreserveWhitespacesAttr(element.attrs)) {
- // don't descent into elements where we need to preserve whitespaces
- // but still visit all attributes to eliminate one used as a market to preserve WS
- return new Element$1(element.name, visitAll$1(this, element.attrs), element.children, element.sourceSpan, element.startSourceSpan, element.endSourceSpan, element.i18n);
- }
- return new Element$1(element.name, element.attrs, visitAll$1(this, element.children), element.sourceSpan, element.startSourceSpan, element.endSourceSpan, element.i18n);
- }
- visitAttribute(attribute, context) {
- return attribute.name !== PRESERVE_WS_ATTR_NAME ? attribute : null;
- }
- visitText(text, context) {
- const isNotBlank = text.value.match(NO_WS_REGEXP);
- if (isNotBlank) {
- return new Text$3(replaceNgsp(text.value).replace(WS_REPLACE_REGEXP, ' '), text.sourceSpan, text.i18n);
- }
- return null;
- }
- visitComment(comment, context) { return comment; }
- visitExpansion(expansion, context) { return expansion; }
- visitExpansionCase(expansionCase, context) { return expansionCase; }
-}
-function removeWhitespaces(htmlAstWithErrors) {
- return new ParseTreeResult(visitAll$1(new WhitespaceVisitor(), htmlAstWithErrors.rootNodes), htmlAstWithErrors.errors);
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-// http://cldr.unicode.org/index/cldr-spec/plural-rules
-const PLURAL_CASES = ['zero', 'one', 'two', 'few', 'many', 'other'];
-/**
- * Expands special forms into elements.
- *
- * For example,
- *
- * ```
- * { messages.length, plural,
- * =0 {zero}
- * =1 {one}
- * other {more than one}
- * }
- * ```
- *
- * will be expanded into
- *
- * ```
- *
- * zero
- * one
- * more than one
- *
- * ```
- */
-function expandNodes(nodes) {
- const expander = new _Expander();
- return new ExpansionResult(visitAll$1(expander, nodes), expander.isExpanded, expander.errors);
-}
-class ExpansionResult {
- constructor(nodes, expanded, errors) {
- this.nodes = nodes;
- this.expanded = expanded;
- this.errors = errors;
- }
-}
-class ExpansionError extends ParseError {
- constructor(span, errorMsg) { super(span, errorMsg); }
-}
-/**
- * Expand expansion forms (plural, select) to directives
- *
- * @internal
- */
-class _Expander {
- constructor() {
- this.isExpanded = false;
- this.errors = [];
- }
- visitElement(element, context) {
- return new Element$1(element.name, element.attrs, visitAll$1(this, element.children), element.sourceSpan, element.startSourceSpan, element.endSourceSpan);
- }
- visitAttribute(attribute, context) { return attribute; }
- visitText(text, context) { return text; }
- visitComment(comment, context) { return comment; }
- visitExpansion(icu, context) {
- this.isExpanded = true;
- return icu.type == 'plural' ? _expandPluralForm(icu, this.errors) :
- _expandDefaultForm(icu, this.errors);
- }
- visitExpansionCase(icuCase, context) {
- throw new Error('Should not be reached');
- }
-}
-// Plural forms are expanded to `NgPlural` and `NgPluralCase`s
-function _expandPluralForm(ast, errors) {
- const children = ast.cases.map(c => {
- if (PLURAL_CASES.indexOf(c.value) == -1 && !c.value.match(/^=\d+$/)) {
- errors.push(new ExpansionError(c.valueSourceSpan, `Plural cases should be "=" or one of ${PLURAL_CASES.join(", ")}`));
- }
- const expansionResult = expandNodes(c.expression);
- errors.push(...expansionResult.errors);
- return new Element$1(`ng-template`, [new Attribute('ngPluralCase', `${c.value}`, c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);
- });
- const switchAttr = new Attribute('[ngPlural]', ast.switchValue, ast.switchValueSourceSpan);
- return new Element$1('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);
-}
-// ICU messages (excluding plural form) are expanded to `NgSwitch` and `NgSwitchCase`s
-function _expandDefaultForm(ast, errors) {
- const children = ast.cases.map(c => {
- const expansionResult = expandNodes(c.expression);
- errors.push(...expansionResult.errors);
- if (c.value === 'other') {
- // other is the default case when no values match
- return new Element$1(`ng-template`, [new Attribute('ngSwitchDefault', '', c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);
- }
- return new Element$1(`ng-template`, [new Attribute('ngSwitchCase', `${c.value}`, c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);
- });
- const switchAttr = new Attribute('[ngSwitch]', ast.switchValue, ast.switchValueSourceSpan);
- return new Element$1('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-/**
- * A segment of text within the template.
- */
-class TextAst {
- constructor(value, ngContentIndex, sourceSpan) {
- this.value = value;
- this.ngContentIndex = ngContentIndex;
- this.sourceSpan = sourceSpan;
- }
- visit(visitor, context) { return visitor.visitText(this, context); }
-}
-/**
- * A bound expression within the text of a template.
- */
-class BoundTextAst {
- constructor(value, ngContentIndex, sourceSpan) {
- this.value = value;
- this.ngContentIndex = ngContentIndex;
- this.sourceSpan = sourceSpan;
- }
- visit(visitor, context) {
- return visitor.visitBoundText(this, context);
- }
-}
-/**
- * A plain attribute on an element.
- */
-class AttrAst {
- constructor(name, value, sourceSpan) {
- this.name = name;
- this.value = value;
- this.sourceSpan = sourceSpan;
- }
- visit(visitor, context) { return visitor.visitAttr(this, context); }
-}
-const BoundPropertyMapping = {
- [4 /* Animation */]: 4 /* Animation */,
- [1 /* Attribute */]: 1 /* Attribute */,
- [2 /* Class */]: 2 /* Class */,
- [0 /* Property */]: 0 /* Property */,
- [3 /* Style */]: 3 /* Style */,
-};
-/**
- * A binding for an element property (e.g. `[property]="expression"`) or an animation trigger (e.g.
- * `[@trigger]="stateExp"`)
- */
-class BoundElementPropertyAst {
- constructor(name, type, securityContext, value, unit, sourceSpan) {
- this.name = name;
- this.type = type;
- this.securityContext = securityContext;
- this.value = value;
- this.unit = unit;
- this.sourceSpan = sourceSpan;
- this.isAnimation = this.type === 4 /* Animation */;
- }
- static fromBoundProperty(prop) {
- const type = BoundPropertyMapping[prop.type];
- return new BoundElementPropertyAst(prop.name, type, prop.securityContext, prop.value, prop.unit, prop.sourceSpan);
- }
- visit(visitor, context) {
- return visitor.visitElementProperty(this, context);
- }
-}
-/**
- * A binding for an element event (e.g. `(event)="handler()"`) or an animation trigger event (e.g.
- * `(@trigger.phase)="callback($event)"`).
- */
-class BoundEventAst {
- constructor(name, target, phase, handler, sourceSpan, handlerSpan) {
- this.name = name;
- this.target = target;
- this.phase = phase;
- this.handler = handler;
- this.sourceSpan = sourceSpan;
- this.handlerSpan = handlerSpan;
- this.fullName = BoundEventAst.calcFullName(this.name, this.target, this.phase);
- this.isAnimation = !!this.phase;
- }
- static calcFullName(name, target, phase) {
- if (target) {
- return `${target}:${name}`;
- }
- if (phase) {
- return `@${name}.${phase}`;
- }
- return name;
- }
- static fromParsedEvent(event) {
- const target = event.type === 0 /* Regular */ ? event.targetOrPhase : null;
- const phase = event.type === 1 /* Animation */ ? event.targetOrPhase : null;
- return new BoundEventAst(event.name, target, phase, event.handler, event.sourceSpan, event.handlerSpan);
- }
- visit(visitor, context) {
- return visitor.visitEvent(this, context);
- }
-}
-/**
- * A reference declaration on an element (e.g. `let someName="expression"`).
- */
-class ReferenceAst {
- constructor(name, value, originalValue, sourceSpan) {
- this.name = name;
- this.value = value;
- this.originalValue = originalValue;
- this.sourceSpan = sourceSpan;
- }
- visit(visitor, context) {
- return visitor.visitReference(this, context);
- }
-}
-/**
- * A variable declaration on a (e.g. `var-someName="someLocalName"`).
- */
-class VariableAst {
- constructor(name, value, sourceSpan) {
- this.name = name;
- this.value = value;
- this.sourceSpan = sourceSpan;
- }
- static fromParsedVariable(v) {
- return new VariableAst(v.name, v.value, v.sourceSpan);
- }
- visit(visitor, context) {
- return visitor.visitVariable(this, context);
- }
-}
-/**
- * An element declaration in a template.
- */
-class ElementAst {
- constructor(name, attrs, inputs, outputs, references, directives, providers, hasViewContainer, queryMatches, children, ngContentIndex, sourceSpan, endSourceSpan) {
- this.name = name;
- this.attrs = attrs;
- this.inputs = inputs;
- this.outputs = outputs;
- this.references = references;
- this.directives = directives;
- this.providers = providers;
- this.hasViewContainer = hasViewContainer;
- this.queryMatches = queryMatches;
- this.children = children;
- this.ngContentIndex = ngContentIndex;
- this.sourceSpan = sourceSpan;
- this.endSourceSpan = endSourceSpan;
- }
- visit(visitor, context) {
- return visitor.visitElement(this, context);
- }
-}
-/**
- * A `` element included in an Angular template.
- */
-class EmbeddedTemplateAst {
- constructor(attrs, outputs, references, variables, directives, providers, hasViewContainer, queryMatches, children, ngContentIndex, sourceSpan) {
- this.attrs = attrs;
- this.outputs = outputs;
- this.references = references;
- this.variables = variables;
- this.directives = directives;
- this.providers = providers;
- this.hasViewContainer = hasViewContainer;
- this.queryMatches = queryMatches;
- this.children = children;
- this.ngContentIndex = ngContentIndex;
- this.sourceSpan = sourceSpan;
- }
- visit(visitor, context) {
- return visitor.visitEmbeddedTemplate(this, context);
- }
-}
-/**
- * A directive property with a bound value (e.g. `*ngIf="condition").
- */
-class BoundDirectivePropertyAst {
- constructor(directiveName, templateName, value, sourceSpan) {
- this.directiveName = directiveName;
- this.templateName = templateName;
- this.value = value;
- this.sourceSpan = sourceSpan;
- }
- visit(visitor, context) {
- return visitor.visitDirectiveProperty(this, context);
- }
-}
-/**
- * A directive declared on an element.
- */
-class DirectiveAst {
- constructor(directive, inputs, hostProperties, hostEvents, contentQueryStartId, sourceSpan) {
- this.directive = directive;
- this.inputs = inputs;
- this.hostProperties = hostProperties;
- this.hostEvents = hostEvents;
- this.contentQueryStartId = contentQueryStartId;
- this.sourceSpan = sourceSpan;
- }
- visit(visitor, context) {
- return visitor.visitDirective(this, context);
- }
-}
-/**
- * A provider declared on an element
- */
-class ProviderAst {
- constructor(token, multiProvider, eager, providers, providerType, lifecycleHooks, sourceSpan, isModule) {
- this.token = token;
- this.multiProvider = multiProvider;
- this.eager = eager;
- this.providers = providers;
- this.providerType = providerType;
- this.lifecycleHooks = lifecycleHooks;
- this.sourceSpan = sourceSpan;
- this.isModule = isModule;
- }
- visit(visitor, context) {
- // No visit method in the visitor for now...
- return null;
- }
-}
-var ProviderAstType;
-(function (ProviderAstType) {
- ProviderAstType[ProviderAstType["PublicService"] = 0] = "PublicService";
- ProviderAstType[ProviderAstType["PrivateService"] = 1] = "PrivateService";
- ProviderAstType[ProviderAstType["Component"] = 2] = "Component";
- ProviderAstType[ProviderAstType["Directive"] = 3] = "Directive";
- ProviderAstType[ProviderAstType["Builtin"] = 4] = "Builtin";
-})(ProviderAstType || (ProviderAstType = {}));
-/**
- * Position where content is to be projected (instance of `` in a template).
- */
-class NgContentAst {
- constructor(index, ngContentIndex, sourceSpan) {
- this.index = index;
- this.ngContentIndex = ngContentIndex;
- this.sourceSpan = sourceSpan;
- }
- visit(visitor, context) {
- return visitor.visitNgContent(this, context);
- }
-}
-/**
- * A visitor that accepts each node but doesn't do anything. It is intended to be used
- * as the base class for a visitor that is only interested in a subset of the node types.
- */
-class NullTemplateVisitor {
- visitNgContent(ast, context) { }
- visitEmbeddedTemplate(ast, context) { }
- visitElement(ast, context) { }
- visitReference(ast, context) { }
- visitVariable(ast, context) { }
- visitEvent(ast, context) { }
- visitElementProperty(ast, context) { }
- visitAttr(ast, context) { }
- visitBoundText(ast, context) { }
- visitText(ast, context) { }
- visitDirective(ast, context) { }
- visitDirectiveProperty(ast, context) { }
-}
-/**
- * Base class that can be used to build a visitor that visits each node
- * in an template ast recursively.
- */
-class RecursiveTemplateAstVisitor extends NullTemplateVisitor {
- constructor() { super(); }
- // Nodes with children
- visitEmbeddedTemplate(ast, context) {
- return this.visitChildren(context, visit => {
- visit(ast.attrs);
- visit(ast.references);
- visit(ast.variables);
- visit(ast.directives);
- visit(ast.providers);
- visit(ast.children);
- });
- }
- visitElement(ast, context) {
- return this.visitChildren(context, visit => {
- visit(ast.attrs);
- visit(ast.inputs);
- visit(ast.outputs);
- visit(ast.references);
- visit(ast.directives);
- visit(ast.providers);
- visit(ast.children);
- });
- }
- visitDirective(ast, context) {
- return this.visitChildren(context, visit => {
- visit(ast.inputs);
- visit(ast.hostProperties);
- visit(ast.hostEvents);
- });
- }
- visitChildren(context, cb) {
- let results = [];
- let t = this;
- function visit(children) {
- if (children && children.length)
- results.push(templateVisitAll(t, children, context));
- }
- cb(visit);
- return Array.prototype.concat.apply([], results);
- }
-}
-/**
- * Visit every node in a list of {@link TemplateAst}s with the given {@link TemplateAstVisitor}.
- */
-function templateVisitAll(visitor, asts, context = null) {
- const result = [];
- const visit = visitor.visit ?
- (ast) => visitor.visit(ast, context) || ast.visit(visitor, context) :
- (ast) => ast.visit(visitor, context);
- asts.forEach(ast => {
- const astResult = visit(ast);
- if (astResult) {
- result.push(astResult);
- }
- });
- return result;
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-class ProviderError extends ParseError {
- constructor(message, span) { super(span, message); }
-}
-class ProviderViewContext {
- constructor(reflector, component) {
- this.reflector = reflector;
- this.component = component;
- this.errors = [];
- this.viewQueries = _getViewQueries(component);
- this.viewProviders = new Map();
- component.viewProviders.forEach((provider) => {
- if (this.viewProviders.get(tokenReference(provider.token)) == null) {
- this.viewProviders.set(tokenReference(provider.token), true);
- }
- });
- }
-}
-class ProviderElementContext {
- constructor(viewContext, _parent, _isViewRoot, _directiveAsts, attrs, refs, isTemplate, contentQueryStartId, _sourceSpan) {
- this.viewContext = viewContext;
- this._parent = _parent;
- this._isViewRoot = _isViewRoot;
- this._directiveAsts = _directiveAsts;
- this._sourceSpan = _sourceSpan;
- this._transformedProviders = new Map();
- this._seenProviders = new Map();
- this._queriedTokens = new Map();
- this.transformedHasViewContainer = false;
- this._attrs = {};
- attrs.forEach((attrAst) => this._attrs[attrAst.name] = attrAst.value);
- const directivesMeta = _directiveAsts.map(directiveAst => directiveAst.directive);
- this._allProviders =
- _resolveProvidersFromDirectives(directivesMeta, _sourceSpan, viewContext.errors);
- this._contentQueries = _getContentQueries(contentQueryStartId, directivesMeta);
- Array.from(this._allProviders.values()).forEach((provider) => {
- this._addQueryReadsTo(provider.token, provider.token, this._queriedTokens);
- });
- if (isTemplate) {
- const templateRefId = createTokenForExternalReference(this.viewContext.reflector, Identifiers.TemplateRef);
- this._addQueryReadsTo(templateRefId, templateRefId, this._queriedTokens);
- }
- refs.forEach((refAst) => {
- let defaultQueryValue = refAst.value ||
- createTokenForExternalReference(this.viewContext.reflector, Identifiers.ElementRef);
- this._addQueryReadsTo({ value: refAst.name }, defaultQueryValue, this._queriedTokens);
- });
- if (this._queriedTokens.get(this.viewContext.reflector.resolveExternalReference(Identifiers.ViewContainerRef))) {
- this.transformedHasViewContainer = true;
- }
- // create the providers that we know are eager first
- Array.from(this._allProviders.values()).forEach((provider) => {
- const eager = provider.eager || this._queriedTokens.get(tokenReference(provider.token));
- if (eager) {
- this._getOrCreateLocalProvider(provider.providerType, provider.token, true);
- }
- });
- }
- afterElement() {
- // collect lazy providers
- Array.from(this._allProviders.values()).forEach((provider) => {
- this._getOrCreateLocalProvider(provider.providerType, provider.token, false);
- });
- }
- get transformProviders() {
- // Note: Maps keep their insertion order.
- const lazyProviders = [];
- const eagerProviders = [];
- this._transformedProviders.forEach(provider => {
- if (provider.eager) {
- eagerProviders.push(provider);
- }
- else {
- lazyProviders.push(provider);
- }
- });
- return lazyProviders.concat(eagerProviders);
- }
- get transformedDirectiveAsts() {
- const sortedProviderTypes = this.transformProviders.map(provider => provider.token.identifier);
- const sortedDirectives = this._directiveAsts.slice();
- sortedDirectives.sort((dir1, dir2) => sortedProviderTypes.indexOf(dir1.directive.type) -
- sortedProviderTypes.indexOf(dir2.directive.type));
- return sortedDirectives;
- }
- get queryMatches() {
- const allMatches = [];
- this._queriedTokens.forEach((matches) => { allMatches.push(...matches); });
- return allMatches;
- }
- _addQueryReadsTo(token, defaultValue, queryReadTokens) {
- this._getQueriesFor(token).forEach((query) => {
- const queryValue = query.meta.read || defaultValue;
- const tokenRef = tokenReference(queryValue);
- let queryMatches = queryReadTokens.get(tokenRef);
- if (!queryMatches) {
- queryMatches = [];
- queryReadTokens.set(tokenRef, queryMatches);
- }
- queryMatches.push({ queryId: query.queryId, value: queryValue });
- });
- }
- _getQueriesFor(token) {
- const result = [];
- let currentEl = this;
- let distance = 0;
- let queries;
- while (currentEl !== null) {
- queries = currentEl._contentQueries.get(tokenReference(token));
- if (queries) {
- result.push(...queries.filter((query) => query.meta.descendants || distance <= 1));
- }
- if (currentEl._directiveAsts.length > 0) {
- distance++;
- }
- currentEl = currentEl._parent;
- }
- queries = this.viewContext.viewQueries.get(tokenReference(token));
- if (queries) {
- result.push(...queries);
- }
- return result;
- }
- _getOrCreateLocalProvider(requestingProviderType, token, eager) {
- const resolvedProvider = this._allProviders.get(tokenReference(token));
- if (!resolvedProvider || ((requestingProviderType === ProviderAstType.Directive ||
- requestingProviderType === ProviderAstType.PublicService) &&
- resolvedProvider.providerType === ProviderAstType.PrivateService) ||
- ((requestingProviderType === ProviderAstType.PrivateService ||
- requestingProviderType === ProviderAstType.PublicService) &&
- resolvedProvider.providerType === ProviderAstType.Builtin)) {
- return null;
- }
- let transformedProviderAst = this._transformedProviders.get(tokenReference(token));
- if (transformedProviderAst) {
- return transformedProviderAst;
- }
- if (this._seenProviders.get(tokenReference(token)) != null) {
- this.viewContext.errors.push(new ProviderError(`Cannot instantiate cyclic dependency! ${tokenName(token)}`, this._sourceSpan));
- return null;
- }
- this._seenProviders.set(tokenReference(token), true);
- const transformedProviders = resolvedProvider.providers.map((provider) => {
- let transformedUseValue = provider.useValue;
- let transformedUseExisting = provider.useExisting;
- let transformedDeps = undefined;
- if (provider.useExisting != null) {
- const existingDiDep = this._getDependency(resolvedProvider.providerType, { token: provider.useExisting }, eager);
- if (existingDiDep.token != null) {
- transformedUseExisting = existingDiDep.token;
- }
- else {
- transformedUseExisting = null;
- transformedUseValue = existingDiDep.value;
- }
- }
- else if (provider.useFactory) {
- const deps = provider.deps || provider.useFactory.diDeps;
- transformedDeps =
- deps.map((dep) => this._getDependency(resolvedProvider.providerType, dep, eager));
- }
- else if (provider.useClass) {
- const deps = provider.deps || provider.useClass.diDeps;
- transformedDeps =
- deps.map((dep) => this._getDependency(resolvedProvider.providerType, dep, eager));
- }
- return _transformProvider(provider, {
- useExisting: transformedUseExisting,
- useValue: transformedUseValue,
- deps: transformedDeps
- });
- });
- transformedProviderAst =
- _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });
- this._transformedProviders.set(tokenReference(token), transformedProviderAst);
- return transformedProviderAst;
- }
- _getLocalDependency(requestingProviderType, dep, eager = false) {
- if (dep.isAttribute) {
- const attrValue = this._attrs[dep.token.value];
- return { isValue: true, value: attrValue == null ? null : attrValue };
- }
- if (dep.token != null) {
- // access builtints
- if ((requestingProviderType === ProviderAstType.Directive ||
- requestingProviderType === ProviderAstType.Component)) {
- if (tokenReference(dep.token) ===
- this.viewContext.reflector.resolveExternalReference(Identifiers.Renderer) ||
- tokenReference(dep.token) ===
- this.viewContext.reflector.resolveExternalReference(Identifiers.ElementRef) ||
- tokenReference(dep.token) ===
- this.viewContext.reflector.resolveExternalReference(Identifiers.ChangeDetectorRef) ||
- tokenReference(dep.token) ===
- this.viewContext.reflector.resolveExternalReference(Identifiers.TemplateRef)) {
- return dep;
- }
- if (tokenReference(dep.token) ===
- this.viewContext.reflector.resolveExternalReference(Identifiers.ViewContainerRef)) {
- this.transformedHasViewContainer = true;
- }
- }
- // access the injector
- if (tokenReference(dep.token) ===
- this.viewContext.reflector.resolveExternalReference(Identifiers.Injector)) {
- return dep;
- }
- // access providers
- if (this._getOrCreateLocalProvider(requestingProviderType, dep.token, eager) != null) {
- return dep;
- }
- }
- return null;
- }
- _getDependency(requestingProviderType, dep, eager = false) {
- let currElement = this;
- let currEager = eager;
- let result = null;
- if (!dep.isSkipSelf) {
- result = this._getLocalDependency(requestingProviderType, dep, eager);
- }
- if (dep.isSelf) {
- if (!result && dep.isOptional) {
- result = { isValue: true, value: null };
- }
- }
- else {
- // check parent elements
- while (!result && currElement._parent) {
- const prevElement = currElement;
- currElement = currElement._parent;
- if (prevElement._isViewRoot) {
- currEager = false;
- }
- result = currElement._getLocalDependency(ProviderAstType.PublicService, dep, currEager);
- }
- // check @Host restriction
- if (!result) {
- if (!dep.isHost || this.viewContext.component.isHost ||
- this.viewContext.component.type.reference === tokenReference(dep.token) ||
- this.viewContext.viewProviders.get(tokenReference(dep.token)) != null) {
- result = dep;
- }
- else {
- result = dep.isOptional ? { isValue: true, value: null } : null;
- }
- }
- }
- if (!result) {
- this.viewContext.errors.push(new ProviderError(`No provider for ${tokenName(dep.token)}`, this._sourceSpan));
- }
- return result;
- }
-}
-class NgModuleProviderAnalyzer {
- constructor(reflector, ngModule, extraProviders, sourceSpan) {
- this.reflector = reflector;
- this._transformedProviders = new Map();
- this._seenProviders = new Map();
- this._errors = [];
- this._allProviders = new Map();
- ngModule.transitiveModule.modules.forEach((ngModuleType) => {
- const ngModuleProvider = { token: { identifier: ngModuleType }, useClass: ngModuleType };
- _resolveProviders([ngModuleProvider], ProviderAstType.PublicService, true, sourceSpan, this._errors, this._allProviders, /* isModule */ true);
- });
- _resolveProviders(ngModule.transitiveModule.providers.map(entry => entry.provider).concat(extraProviders), ProviderAstType.PublicService, false, sourceSpan, this._errors, this._allProviders,
- /* isModule */ false);
- }
- parse() {
- Array.from(this._allProviders.values()).forEach((provider) => {
- this._getOrCreateLocalProvider(provider.token, provider.eager);
- });
- if (this._errors.length > 0) {
- const errorString = this._errors.join('\n');
- throw new Error(`Provider parse errors:\n${errorString}`);
- }
- // Note: Maps keep their insertion order.
- const lazyProviders = [];
- const eagerProviders = [];
- this._transformedProviders.forEach(provider => {
- if (provider.eager) {
- eagerProviders.push(provider);
- }
- else {
- lazyProviders.push(provider);
- }
- });
- return lazyProviders.concat(eagerProviders);
- }
- _getOrCreateLocalProvider(token, eager) {
- const resolvedProvider = this._allProviders.get(tokenReference(token));
- if (!resolvedProvider) {
- return null;
- }
- let transformedProviderAst = this._transformedProviders.get(tokenReference(token));
- if (transformedProviderAst) {
- return transformedProviderAst;
- }
- if (this._seenProviders.get(tokenReference(token)) != null) {
- this._errors.push(new ProviderError(`Cannot instantiate cyclic dependency! ${tokenName(token)}`, resolvedProvider.sourceSpan));
- return null;
- }
- this._seenProviders.set(tokenReference(token), true);
- const transformedProviders = resolvedProvider.providers.map((provider) => {
- let transformedUseValue = provider.useValue;
- let transformedUseExisting = provider.useExisting;
- let transformedDeps = undefined;
- if (provider.useExisting != null) {
- const existingDiDep = this._getDependency({ token: provider.useExisting }, eager, resolvedProvider.sourceSpan);
- if (existingDiDep.token != null) {
- transformedUseExisting = existingDiDep.token;
- }
- else {
- transformedUseExisting = null;
- transformedUseValue = existingDiDep.value;
- }
- }
- else if (provider.useFactory) {
- const deps = provider.deps || provider.useFactory.diDeps;
- transformedDeps =
- deps.map((dep) => this._getDependency(dep, eager, resolvedProvider.sourceSpan));
- }
- else if (provider.useClass) {
- const deps = provider.deps || provider.useClass.diDeps;
- transformedDeps =
- deps.map((dep) => this._getDependency(dep, eager, resolvedProvider.sourceSpan));
- }
- return _transformProvider(provider, {
- useExisting: transformedUseExisting,
- useValue: transformedUseValue,
- deps: transformedDeps
- });
- });
- transformedProviderAst =
- _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });
- this._transformedProviders.set(tokenReference(token), transformedProviderAst);
- return transformedProviderAst;
- }
- _getDependency(dep, eager = false, requestorSourceSpan) {
- let foundLocal = false;
- if (!dep.isSkipSelf && dep.token != null) {
- // access the injector
- if (tokenReference(dep.token) ===
- this.reflector.resolveExternalReference(Identifiers.Injector) ||
- tokenReference(dep.token) ===
- this.reflector.resolveExternalReference(Identifiers.ComponentFactoryResolver)) {
- foundLocal = true;
- // access providers
- }
- else if (this._getOrCreateLocalProvider(dep.token, eager) != null) {
- foundLocal = true;
- }
- }
- return dep;
- }
-}
-function _transformProvider(provider, { useExisting, useValue, deps }) {
- return {
- token: provider.token,
- useClass: provider.useClass,
- useExisting: useExisting,
- useFactory: provider.useFactory,
- useValue: useValue,
- deps: deps,
- multi: provider.multi
- };
-}
-function _transformProviderAst(provider, { eager, providers }) {
- return new ProviderAst(provider.token, provider.multiProvider, provider.eager || eager, providers, provider.providerType, provider.lifecycleHooks, provider.sourceSpan, provider.isModule);
-}
-function _resolveProvidersFromDirectives(directives, sourceSpan, targetErrors) {
- const providersByToken = new Map();
- directives.forEach((directive) => {
- const dirProvider = { token: { identifier: directive.type }, useClass: directive.type };
- _resolveProviders([dirProvider], directive.isComponent ? ProviderAstType.Component : ProviderAstType.Directive, true, sourceSpan, targetErrors, providersByToken, /* isModule */ false);
- });
- // Note: directives need to be able to overwrite providers of a component!
- const directivesWithComponentFirst = directives.filter(dir => dir.isComponent).concat(directives.filter(dir => !dir.isComponent));
- directivesWithComponentFirst.forEach((directive) => {
- _resolveProviders(directive.providers, ProviderAstType.PublicService, false, sourceSpan, targetErrors, providersByToken, /* isModule */ false);
- _resolveProviders(directive.viewProviders, ProviderAstType.PrivateService, false, sourceSpan, targetErrors, providersByToken, /* isModule */ false);
- });
- return providersByToken;
-}
-function _resolveProviders(providers, providerType, eager, sourceSpan, targetErrors, targetProvidersByToken, isModule) {
- providers.forEach((provider) => {
- let resolvedProvider = targetProvidersByToken.get(tokenReference(provider.token));
- if (resolvedProvider != null && !!resolvedProvider.multiProvider !== !!provider.multi) {
- targetErrors.push(new ProviderError(`Mixing multi and non multi provider is not possible for token ${tokenName(resolvedProvider.token)}`, sourceSpan));
- }
- if (!resolvedProvider) {
- const lifecycleHooks = provider.token.identifier &&
- provider.token.identifier.lifecycleHooks ?
- provider.token.identifier.lifecycleHooks :
- [];
- const isUseValue = !(provider.useClass || provider.useExisting || provider.useFactory);
- resolvedProvider = new ProviderAst(provider.token, !!provider.multi, eager || isUseValue, [provider], providerType, lifecycleHooks, sourceSpan, isModule);
- targetProvidersByToken.set(tokenReference(provider.token), resolvedProvider);
- }
- else {
- if (!provider.multi) {
- resolvedProvider.providers.length = 0;
- }
- resolvedProvider.providers.push(provider);
- }
- });
-}
-function _getViewQueries(component) {
- // Note: queries start with id 1 so we can use the number in a Bloom filter!
- let viewQueryId = 1;
- const viewQueries = new Map();
- if (component.viewQueries) {
- component.viewQueries.forEach((query) => _addQueryToTokenMap(viewQueries, { meta: query, queryId: viewQueryId++ }));
- }
- return viewQueries;
-}
-function _getContentQueries(contentQueryStartId, directives) {
- let contentQueryId = contentQueryStartId;
- const contentQueries = new Map();
- directives.forEach((directive, directiveIndex) => {
- if (directive.queries) {
- directive.queries.forEach((query) => _addQueryToTokenMap(contentQueries, { meta: query, queryId: contentQueryId++ }));
- }
- });
- return contentQueries;
-}
-function _addQueryToTokenMap(map, query) {
- query.meta.selectors.forEach((token) => {
- let entry = map.get(tokenReference(token));
- if (!entry) {
- entry = [];
- map.set(tokenReference(token), entry);
- }
- entry.push(query);
- });
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-class StyleWithImports {
- constructor(style, styleUrls) {
- this.style = style;
- this.styleUrls = styleUrls;
- }
-}
-function isStyleUrlResolvable(url) {
- if (url == null || url.length === 0 || url[0] == '/')
- return false;
- const schemeMatch = url.match(URL_WITH_SCHEMA_REGEXP);
- return schemeMatch === null || schemeMatch[1] == 'package' || schemeMatch[1] == 'asset';
-}
-/**
- * Rewrites stylesheets by resolving and removing the @import urls that
- * are either relative or don't have a `package:` scheme
- */
-function extractStyleUrls(resolver, baseUrl, cssText) {
- const foundUrls = [];
- const modifiedCssText = cssText.replace(CSS_STRIPPABLE_COMMENT_REGEXP, '')
- .replace(CSS_IMPORT_REGEXP, (...m) => {
- const url = m[1] || m[2];
- if (!isStyleUrlResolvable(url)) {
- // Do not attempt to resolve non-package absolute URLs with URI
- // scheme
- return m[0];
- }
- foundUrls.push(resolver.resolve(baseUrl, url));
- return '';
- });
- return new StyleWithImports(modifiedCssText, foundUrls);
-}
-const CSS_IMPORT_REGEXP = /@import\s+(?:url\()?\s*(?:(?:['"]([^'"]*))|([^;\)\s]*))[^;]*;?/g;
-const CSS_STRIPPABLE_COMMENT_REGEXP = /\/\*(?!#\s*(?:sourceURL|sourceMappingURL)=)[\s\S]+?\*\//g;
-const URL_WITH_SCHEMA_REGEXP = /^([^:/?#]+):/;
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-const PROPERTY_PARTS_SEPARATOR = '.';
-const ATTRIBUTE_PREFIX = 'attr';
-const CLASS_PREFIX = 'class';
-const STYLE_PREFIX = 'style';
-const ANIMATE_PROP_PREFIX = 'animate-';
-/**
- * Parses bindings in templates and in the directive host area.
- */
-class BindingParser {
- constructor(_exprParser, _interpolationConfig, _schemaRegistry, pipes, errors) {
- this._exprParser = _exprParser;
- this._interpolationConfig = _interpolationConfig;
- this._schemaRegistry = _schemaRegistry;
- this.errors = errors;
- this.pipesByName = null;
- this._usedPipes = new Map();
- // When the `pipes` parameter is `null`, do not check for used pipes
- // This is used in IVY when we might not know the available pipes at compile time
- if (pipes) {
- const pipesByName = new Map();
- pipes.forEach(pipe => pipesByName.set(pipe.name, pipe));
- this.pipesByName = pipesByName;
- }
- }
- get interpolationConfig() { return this._interpolationConfig; }
- getUsedPipes() { return Array.from(this._usedPipes.values()); }
- createBoundHostProperties(dirMeta, sourceSpan) {
- if (dirMeta.hostProperties) {
- const boundProps = [];
- Object.keys(dirMeta.hostProperties).forEach(propName => {
- const expression = dirMeta.hostProperties[propName];
- if (typeof expression === 'string') {
- this.parsePropertyBinding(propName, expression, true, sourceSpan, sourceSpan.start.offset, undefined, [], boundProps);
- }
- else {
- this._reportError(`Value of the host property binding "${propName}" needs to be a string representing an expression but got "${expression}" (${typeof expression})`, sourceSpan);
- }
- });
- return boundProps;
- }
- return null;
- }
- createDirectiveHostPropertyAsts(dirMeta, elementSelector, sourceSpan) {
- const boundProps = this.createBoundHostProperties(dirMeta, sourceSpan);
- return boundProps &&
- boundProps.map((prop) => this.createBoundElementProperty(elementSelector, prop));
- }
- createDirectiveHostEventAsts(dirMeta, sourceSpan) {
- if (dirMeta.hostListeners) {
- const targetEvents = [];
- Object.keys(dirMeta.hostListeners).forEach(propName => {
- const expression = dirMeta.hostListeners[propName];
- if (typeof expression === 'string') {
- // TODO: pass a more accurate handlerSpan for this event.
- this.parseEvent(propName, expression, sourceSpan, sourceSpan, [], targetEvents);
- }
- else {
- this._reportError(`Value of the host listener "${propName}" needs to be a string representing an expression but got "${expression}" (${typeof expression})`, sourceSpan);
- }
- });
- return targetEvents;
- }
- return null;
- }
- parseInterpolation(value, sourceSpan) {
- const sourceInfo = sourceSpan.start.toString();
- try {
- const ast = this._exprParser.parseInterpolation(value, sourceInfo, sourceSpan.start.offset, this._interpolationConfig);
- if (ast)
- this._reportExpressionParserErrors(ast.errors, sourceSpan);
- this._checkPipes(ast, sourceSpan);
- return ast;
- }
- catch (e) {
- this._reportError(`${e}`, sourceSpan);
- return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, sourceSpan.start.offset);
- }
- }
- // Parse an inline template binding. ie `">`
- parseInlineTemplateBinding(tplKey, tplValue, sourceSpan, absoluteOffset, targetMatchableAttrs, targetProps, targetVars) {
- const bindings = this._parseTemplateBindings(tplKey, tplValue, sourceSpan);
- for (let i = 0; i < bindings.length; i++) {
- const binding = bindings[i];
- if (binding.keyIsVar) {
- targetVars.push(new ParsedVariable(binding.key, binding.name, sourceSpan));
- }
- else if (binding.expression) {
- this._parsePropertyAst(binding.key, binding.expression, sourceSpan, undefined, targetMatchableAttrs, targetProps);
- }
- else {
- targetMatchableAttrs.push([binding.key, '']);
- this.parseLiteralAttr(binding.key, null, sourceSpan, absoluteOffset, undefined, targetMatchableAttrs, targetProps);
- }
- }
- }
- _parseTemplateBindings(tplKey, tplValue, sourceSpan) {
- const sourceInfo = sourceSpan.start.toString();
- try {
- const bindingsResult = this._exprParser.parseTemplateBindings(tplKey, tplValue, sourceInfo, sourceSpan.start.offset);
- this._reportExpressionParserErrors(bindingsResult.errors, sourceSpan);
- bindingsResult.templateBindings.forEach((binding) => {
- if (binding.expression) {
- this._checkPipes(binding.expression, sourceSpan);
- }
- });
- bindingsResult.warnings.forEach((warning) => { this._reportError(warning, sourceSpan, ParseErrorLevel.WARNING); });
- return bindingsResult.templateBindings;
- }
- catch (e) {
- this._reportError(`${e}`, sourceSpan);
- return [];
- }
- }
- parseLiteralAttr(name, value, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, targetProps) {
- if (isAnimationLabel(name)) {
- name = name.substring(1);
- if (value) {
- this._reportError(`Assigning animation triggers via @prop="exp" attributes with an expression is invalid.` +
- ` Use property bindings (e.g. [@prop]="exp") or use an attribute without a value (e.g. @prop) instead.`, sourceSpan, ParseErrorLevel.ERROR);
- }
- this._parseAnimation(name, value, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, targetProps);
- }
- else {
- targetProps.push(new ParsedProperty(name, this._exprParser.wrapLiteralPrimitive(value, '', absoluteOffset), ParsedPropertyType.LITERAL_ATTR, sourceSpan, valueSpan));
- }
- }
- parsePropertyBinding(name, expression, isHost, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, targetProps) {
- let isAnimationProp = false;
- if (name.startsWith(ANIMATE_PROP_PREFIX)) {
- isAnimationProp = true;
- name = name.substring(ANIMATE_PROP_PREFIX.length);
- }
- else if (isAnimationLabel(name)) {
- isAnimationProp = true;
- name = name.substring(1);
- }
- if (isAnimationProp) {
- this._parseAnimation(name, expression, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, targetProps);
- }
- else {
- this._parsePropertyAst(name, this._parseBinding(expression, isHost, valueSpan || sourceSpan, absoluteOffset), sourceSpan, valueSpan, targetMatchableAttrs, targetProps);
- }
- }
- parsePropertyInterpolation(name, value, sourceSpan, valueSpan, targetMatchableAttrs, targetProps) {
- const expr = this.parseInterpolation(value, valueSpan || sourceSpan);
- if (expr) {
- this._parsePropertyAst(name, expr, sourceSpan, valueSpan, targetMatchableAttrs, targetProps);
- return true;
- }
- return false;
- }
- _parsePropertyAst(name, ast, sourceSpan, valueSpan, targetMatchableAttrs, targetProps) {
- targetMatchableAttrs.push([name, ast.source]);
- targetProps.push(new ParsedProperty(name, ast, ParsedPropertyType.DEFAULT, sourceSpan, valueSpan));
- }
- _parseAnimation(name, expression, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, targetProps) {
- // This will occur when a @trigger is not paired with an expression.
- // For animations it is valid to not have an expression since */void
- // states will be applied by angular when the element is attached/detached
- const ast = this._parseBinding(expression || 'undefined', false, valueSpan || sourceSpan, absoluteOffset);
- targetMatchableAttrs.push([name, ast.source]);
- targetProps.push(new ParsedProperty(name, ast, ParsedPropertyType.ANIMATION, sourceSpan, valueSpan));
- }
- _parseBinding(value, isHostBinding, sourceSpan, absoluteOffset) {
- const sourceInfo = (sourceSpan && sourceSpan.start || '(unknown)').toString();
- try {
- const ast = isHostBinding ?
- this._exprParser.parseSimpleBinding(value, sourceInfo, absoluteOffset, this._interpolationConfig) :
- this._exprParser.parseBinding(value, sourceInfo, absoluteOffset, this._interpolationConfig);
- if (ast)
- this._reportExpressionParserErrors(ast.errors, sourceSpan);
- this._checkPipes(ast, sourceSpan);
- return ast;
- }
- catch (e) {
- this._reportError(`${e}`, sourceSpan);
- return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);
- }
- }
- createBoundElementProperty(elementSelector, boundProp, skipValidation = false, mapPropertyName = true) {
- if (boundProp.isAnimation) {
- return new BoundElementProperty(boundProp.name, 4 /* Animation */, SecurityContext.NONE, boundProp.expression, null, boundProp.sourceSpan, boundProp.valueSpan);
- }
- let unit = null;
- let bindingType = undefined;
- let boundPropertyName = null;
- const parts = boundProp.name.split(PROPERTY_PARTS_SEPARATOR);
- let securityContexts = undefined;
- // Check for special cases (prefix style, attr, class)
- if (parts.length > 1) {
- if (parts[0] == ATTRIBUTE_PREFIX) {
- boundPropertyName = parts[1];
- if (!skipValidation) {
- this._validatePropertyOrAttributeName(boundPropertyName, boundProp.sourceSpan, true);
- }
- securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, boundPropertyName, true);
- const nsSeparatorIdx = boundPropertyName.indexOf(':');
- if (nsSeparatorIdx > -1) {
- const ns = boundPropertyName.substring(0, nsSeparatorIdx);
- const name = boundPropertyName.substring(nsSeparatorIdx + 1);
- boundPropertyName = mergeNsAndName(ns, name);
- }
- bindingType = 1 /* Attribute */;
- }
- else if (parts[0] == CLASS_PREFIX) {
- boundPropertyName = parts[1];
- bindingType = 2 /* Class */;
- securityContexts = [SecurityContext.NONE];
- }
- else if (parts[0] == STYLE_PREFIX) {
- unit = parts.length > 2 ? parts[2] : null;
- boundPropertyName = parts[1];
- bindingType = 3 /* Style */;
- securityContexts = [SecurityContext.STYLE];
- }
- }
- // If not a special case, use the full property name
- if (boundPropertyName === null) {
- const mappedPropName = this._schemaRegistry.getMappedPropName(boundProp.name);
- boundPropertyName = mapPropertyName ? mappedPropName : boundProp.name;
- securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, mappedPropName, false);
- bindingType = 0 /* Property */;
- if (!skipValidation) {
- this._validatePropertyOrAttributeName(mappedPropName, boundProp.sourceSpan, false);
- }
- }
- return new BoundElementProperty(boundPropertyName, bindingType, securityContexts[0], boundProp.expression, unit, boundProp.sourceSpan, boundProp.valueSpan);
- }
- parseEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents) {
- if (isAnimationLabel(name)) {
- name = name.substr(1);
- this._parseAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents);
- }
- else {
- this._parseRegularEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents);
- }
- }
- calcPossibleSecurityContexts(selector, propName, isAttribute) {
- const prop = this._schemaRegistry.getMappedPropName(propName);
- return calcPossibleSecurityContexts(this._schemaRegistry, selector, prop, isAttribute);
- }
- _parseAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents) {
- const matches = splitAtPeriod(name, [name, '']);
- const eventName = matches[0];
- const phase = matches[1].toLowerCase();
- if (phase) {
- switch (phase) {
- case 'start':
- case 'done':
- const ast = this._parseAction(expression, handlerSpan);
- targetEvents.push(new ParsedEvent(eventName, phase, 1 /* Animation */, ast, sourceSpan, handlerSpan));
- break;
- default:
- this._reportError(`The provided animation output phase value "${phase}" for "@${eventName}" is not supported (use start or done)`, sourceSpan);
- break;
- }
- }
- else {
- this._reportError(`The animation trigger output event (@${eventName}) is missing its phase value name (start or done are currently supported)`, sourceSpan);
- }
- }
- _parseRegularEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents) {
- // long format: 'target: eventName'
- const [target, eventName] = splitAtColon(name, [null, name]);
- const ast = this._parseAction(expression, handlerSpan);
- targetMatchableAttrs.push([name, ast.source]);
- targetEvents.push(new ParsedEvent(eventName, target, 0 /* Regular */, ast, sourceSpan, handlerSpan));
- // Don't detect directives for event names for now,
- // so don't add the event name to the matchableAttrs
- }
- _parseAction(value, sourceSpan) {
- const sourceInfo = (sourceSpan && sourceSpan.start || '(unknown').toString();
- const absoluteOffset = (sourceSpan && sourceSpan.start) ? sourceSpan.start.offset : 0;
- try {
- const ast = this._exprParser.parseAction(value, sourceInfo, absoluteOffset, this._interpolationConfig);
- if (ast) {
- this._reportExpressionParserErrors(ast.errors, sourceSpan);
- }
- if (!ast || ast.ast instanceof EmptyExpr) {
- this._reportError(`Empty expressions are not allowed`, sourceSpan);
- return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);
- }
- this._checkPipes(ast, sourceSpan);
- return ast;
- }
- catch (e) {
- this._reportError(`${e}`, sourceSpan);
- return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);
- }
- }
- _reportError(message, sourceSpan, level = ParseErrorLevel.ERROR) {
- this.errors.push(new ParseError(sourceSpan, message, level));
- }
- _reportExpressionParserErrors(errors, sourceSpan) {
- for (const error of errors) {
- this._reportError(error.message, sourceSpan);
- }
- }
- // Make sure all the used pipes are known in `this.pipesByName`
- _checkPipes(ast, sourceSpan) {
- if (ast && this.pipesByName) {
- const collector = new PipeCollector();
- ast.visit(collector);
- collector.pipes.forEach((ast, pipeName) => {
- const pipeMeta = this.pipesByName.get(pipeName);
- if (!pipeMeta) {
- this._reportError(`The pipe '${pipeName}' could not be found`, new ParseSourceSpan(sourceSpan.start.moveBy(ast.span.start), sourceSpan.start.moveBy(ast.span.end)));
- }
- else {
- this._usedPipes.set(pipeName, pipeMeta);
- }
- });
- }
- }
- /**
- * @param propName the name of the property / attribute
- * @param sourceSpan
- * @param isAttr true when binding to an attribute
- */
- _validatePropertyOrAttributeName(propName, sourceSpan, isAttr) {
- const report = isAttr ? this._schemaRegistry.validateAttribute(propName) :
- this._schemaRegistry.validateProperty(propName);
- if (report.error) {
- this._reportError(report.msg, sourceSpan, ParseErrorLevel.ERROR);
- }
- }
-}
-class PipeCollector extends RecursiveAstVisitor$1 {
- constructor() {
- super(...arguments);
- this.pipes = new Map();
- }
- visitPipe(ast, context) {
- this.pipes.set(ast.name, ast);
- ast.exp.visit(this);
- this.visitAll(ast.args, context);
- return null;
- }
-}
-function isAnimationLabel(name) {
- return name[0] == '@';
-}
-function calcPossibleSecurityContexts(registry, selector, propName, isAttribute) {
- const ctxs = [];
- CssSelector.parse(selector).forEach((selector) => {
- const elementNames = selector.element ? [selector.element] : registry.allKnownElementNames();
- const notElementNames = new Set(selector.notSelectors.filter(selector => selector.isElementSelector())
- .map((selector) => selector.element));
- const possibleElementNames = elementNames.filter(elementName => !notElementNames.has(elementName));
- ctxs.push(...possibleElementNames.map(elementName => registry.securityContext(elementName, propName, isAttribute)));
- });
- return ctxs.length === 0 ? [SecurityContext.NONE] : Array.from(new Set(ctxs)).sort();
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-const NG_CONTENT_SELECT_ATTR = 'select';
-const LINK_ELEMENT = 'link';
-const LINK_STYLE_REL_ATTR = 'rel';
-const LINK_STYLE_HREF_ATTR = 'href';
-const LINK_STYLE_REL_VALUE = 'stylesheet';
-const STYLE_ELEMENT = 'style';
-const SCRIPT_ELEMENT = 'script';
-const NG_NON_BINDABLE_ATTR = 'ngNonBindable';
-const NG_PROJECT_AS = 'ngProjectAs';
-function preparseElement(ast) {
- let selectAttr = null;
- let hrefAttr = null;
- let relAttr = null;
- let nonBindable = false;
- let projectAs = '';
- ast.attrs.forEach(attr => {
- const lcAttrName = attr.name.toLowerCase();
- if (lcAttrName == NG_CONTENT_SELECT_ATTR) {
- selectAttr = attr.value;
- }
- else if (lcAttrName == LINK_STYLE_HREF_ATTR) {
- hrefAttr = attr.value;
- }
- else if (lcAttrName == LINK_STYLE_REL_ATTR) {
- relAttr = attr.value;
- }
- else if (attr.name == NG_NON_BINDABLE_ATTR) {
- nonBindable = true;
- }
- else if (attr.name == NG_PROJECT_AS) {
- if (attr.value.length > 0) {
- projectAs = attr.value;
- }
- }
- });
- selectAttr = normalizeNgContentSelect(selectAttr);
- const nodeName = ast.name.toLowerCase();
- let type = PreparsedElementType.OTHER;
- if (isNgContent(nodeName)) {
- type = PreparsedElementType.NG_CONTENT;
- }
- else if (nodeName == STYLE_ELEMENT) {
- type = PreparsedElementType.STYLE;
- }
- else if (nodeName == SCRIPT_ELEMENT) {
- type = PreparsedElementType.SCRIPT;
- }
- else if (nodeName == LINK_ELEMENT && relAttr == LINK_STYLE_REL_VALUE) {
- type = PreparsedElementType.STYLESHEET;
- }
- return new PreparsedElement(type, selectAttr, hrefAttr, nonBindable, projectAs);
-}
-var PreparsedElementType;
-(function (PreparsedElementType) {
- PreparsedElementType[PreparsedElementType["NG_CONTENT"] = 0] = "NG_CONTENT";
- PreparsedElementType[PreparsedElementType["STYLE"] = 1] = "STYLE";
- PreparsedElementType[PreparsedElementType["STYLESHEET"] = 2] = "STYLESHEET";
- PreparsedElementType[PreparsedElementType["SCRIPT"] = 3] = "SCRIPT";
- PreparsedElementType[PreparsedElementType["OTHER"] = 4] = "OTHER";
-})(PreparsedElementType || (PreparsedElementType = {}));
-class PreparsedElement {
- constructor(type, selectAttr, hrefAttr, nonBindable, projectAs) {
- this.type = type;
- this.selectAttr = selectAttr;
- this.hrefAttr = hrefAttr;
- this.nonBindable = nonBindable;
- this.projectAs = projectAs;
- }
-}
-function normalizeNgContentSelect(selectAttr) {
- if (selectAttr === null || selectAttr.length === 0) {
- return '*';
- }
- return selectAttr;
-}
-
-/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
-const BIND_NAME_REGEXP = /^(?:(?:(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.+))|\[\(([^\)]+)\)\]|\[([^\]]+)\]|\(([^\)]+)\))$/;
-// Group 1 = "bind-"
-const KW_BIND_IDX = 1;
-// Group 2 = "let-"
-const KW_LET_IDX = 2;
-// Group 3 = "ref-/#"
-const KW_REF_IDX = 3;
-// Group 4 = "on-"
-const KW_ON_IDX = 4;
-// Group 5 = "bindon-"
-const KW_BINDON_IDX = 5;
-// Group 6 = "@"
-const KW_AT_IDX = 6;
-// Group 7 = the identifier after "bind-", "let-", "ref-/#", "on-", "bindon-" or "@"
-const IDENT_KW_IDX = 7;
-// Group 8 = identifier inside [()]
-const IDENT_BANANA_BOX_IDX = 8;
-// Group 9 = identifier inside []
-const IDENT_PROPERTY_IDX = 9;
-// Group 10 = identifier inside ()
-const IDENT_EVENT_IDX = 10;
-const TEMPLATE_ATTR_PREFIX = '*';
-const CLASS_ATTR = 'class';
-let _TEXT_CSS_SELECTOR;
-function TEXT_CSS_SELECTOR() {
- if (!_TEXT_CSS_SELECTOR) {
- _TEXT_CSS_SELECTOR = CssSelector.parse('*')[0];
- }
- return _TEXT_CSS_SELECTOR;
-}
-class TemplateParseError extends ParseError {
- constructor(message, span, level) {
- super(span, message, level);
- }
-}
-class TemplateParseResult {
- constructor(templateAst, usedPipes, errors) {
- this.templateAst = templateAst;
- this.usedPipes = usedPipes;
- this.errors = errors;
- }
-}
-class TemplateParser {
- constructor(_config, _reflector, _exprParser, _schemaRegistry, _htmlParser, _console, transforms) {
- this._config = _config;
- this._reflector = _reflector;
- this._exprParser = _exprParser;
- this._schemaRegistry = _schemaRegistry;
- this._htmlParser = _htmlParser;
- this._console = _console;
- this.transforms = transforms;
- }
- get expressionParser() { return this._exprParser; }
- parse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces) {
- const result = this.tryParse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces);
- const warnings = result.errors.filter(error => error.level === ParseErrorLevel.WARNING);
- const errors = result.errors.filter(error => error.level === ParseErrorLevel.ERROR);
- if (warnings.length > 0) {
- this._console.warn(`Template parse warnings:\n${warnings.join('\n')}`);
- }
- if (errors.length > 0) {
- const errorString = errors.join('\n');
- throw syntaxError(`Template parse errors:\n${errorString}`, errors);
- }
- return { template: result.templateAst, pipes: result.usedPipes };
- }
- tryParse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces) {
- let htmlParseResult = typeof template === 'string' ?
- this._htmlParser.parse(template, templateUrl, {
- tokenizeExpansionForms: true,
- interpolationConfig: this.getInterpolationConfig(component)
- }) :
- template;
- if (!preserveWhitespaces) {
- htmlParseResult = removeWhitespaces(htmlParseResult);
- }
- return this.tryParseHtml(this.expandHtml(htmlParseResult), component, directives, pipes, schemas);
- }
- tryParseHtml(htmlAstWithErrors, component, directives, pipes, schemas) {
- let result;
- const errors = htmlAstWithErrors.errors;
- const usedPipes = [];
- if (htmlAstWithErrors.rootNodes.length > 0) {
- const uniqDirectives = removeSummaryDuplicates(directives);
- const uniqPipes = removeSummaryDuplicates(pipes);
- const providerViewContext = new ProviderViewContext(this._reflector, component);
- let interpolationConfig = undefined;
- if (component.template && component.template.interpolation) {
- interpolationConfig = {
- start: component.template.interpolation[0],
- end: component.template.interpolation[1]
- };
- }
- const bindingParser = new BindingParser(this._exprParser, interpolationConfig, this._schemaRegistry, uniqPipes, errors);
- const parseVisitor = new TemplateParseVisitor(this._reflector, this._config, providerViewContext, uniqDirectives, bindingParser, this._schemaRegistry, schemas, errors);
- result = visitAll$1(parseVisitor, htmlAstWithErrors.rootNodes, EMPTY_ELEMENT_CONTEXT);
- errors.push(...providerViewContext.errors);
- usedPipes.push(...bindingParser.getUsedPipes());
- }
- else {
- result = [];
- }
- this._assertNoReferenceDuplicationOnTemplate(result, errors);
- if (errors.length > 0) {
- return new TemplateParseResult(result, usedPipes, errors);
- }
- if (this.transforms) {
- this.transforms.forEach((transform) => { result = templateVisitAll(transform, result); });
- }
- return new TemplateParseResult(result, usedPipes, errors);
- }
- expandHtml(htmlAstWithErrors, forced = false) {
- const errors = htmlAstWithErrors.errors;
- if (errors.length == 0 || forced) {
- // Transform ICU messages to angular directives
- const expandedHtmlAst = expandNodes(htmlAstWithErrors.rootNodes);
- errors.push(...expandedHtmlAst.errors);
- htmlAstWithErrors = new ParseTreeResult(expandedHtmlAst.nodes, errors);
- }
- return htmlAstWithErrors;
- }
- getInterpolationConfig(component) {
- if (component.template) {
- return InterpolationConfig.fromArray(component.template.interpolation);
- }
- return undefined;
- }
- /** @internal */
- _assertNoReferenceDuplicationOnTemplate(result, errors) {
- const existingReferences = [];
- result.filter(element => !!element.references)
- .forEach(element => element.references.forEach((reference) => {
- const name = reference.name;
- if (existingReferences.indexOf(name) < 0) {
- existingReferences.push(name);
- }
- else {
- const error = new TemplateParseError(`Reference "#${name}" is defined several times`, reference.sourceSpan, ParseErrorLevel.ERROR);
- errors.push(error);
- }
- }));
- }
-}
-class TemplateParseVisitor {
- constructor(reflector, config, providerViewContext, directives, _bindingParser, _schemaRegistry, _schemas, _targetErrors) {
- this.reflector = reflector;
- this.config = config;
- this.providerViewContext = providerViewContext;
- this._bindingParser = _bindingParser;
- this._schemaRegistry = _schemaRegistry;
- this._schemas = _schemas;
- this._targetErrors = _targetErrors;
- this.selectorMatcher = new SelectorMatcher();
- this.directivesIndex = new Map();
- this.ngContentCount = 0;
- // Note: queries start with id 1 so we can use the number in a Bloom filter!
- this.contentQueryStartId = providerViewContext.component.viewQueries.length + 1;
- directives.forEach((directive, index) => {
- const selector = CssSelector.parse(directive.selector);
- this.selectorMatcher.addSelectables(selector, directive);
- this.directivesIndex.set(directive, index);
- });
- }
- visitExpansion(expansion, context) { return null; }
- visitExpansionCase(expansionCase, context) { return null; }
- visitText(text, parent) {
- const ngContentIndex = parent.findNgContentIndex(TEXT_CSS_SELECTOR());
- const valueNoNgsp = replaceNgsp(text.value);
- const expr = this._bindingParser.parseInterpolation(valueNoNgsp, text.sourceSpan);
- return expr ? new BoundTextAst(expr, ngContentIndex, text.sourceSpan) :
- new TextAst(valueNoNgsp, ngContentIndex, text.sourceSpan);
- }
- visitAttribute(attribute, context) {
- return new AttrAst(attribute.name, attribute.value, attribute.sourceSpan);
- }
- visitComment(comment, context) { return null; }
- visitElement(element, parent) {
- const queryStartIndex = this.contentQueryStartId;
- const elName = element.name;
- const preparsedElement = preparseElement(element);
- if (preparsedElement.type === PreparsedElementType.SCRIPT ||
- preparsedElement.type === PreparsedElementType.STYLE) {
- // Skipping