UNPKG

@materia/users

Version:

Signin/signup your users in your Materia application

387 lines 43.1 kB
import { __decorate, __metadata } from "tslib"; import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core'; import { MatDialog, MatDialogRef } from '@angular/material/dialog'; import { AddonView } from '@materia/addons'; import { HttpClient } from '@angular/common/http'; import { SignupFormComponent } from '../signup-form/signup-form.component'; import * as i0 from "@angular/core"; import * as i1 from "@angular/material/dialog"; import * as i2 from "@angular/common/http"; import * as i3 from "@angular/flex-layout/flex"; import * as i4 from "@angular/common"; import * as i5 from "@angular/material/card"; import * as i6 from "../signup-form/signup-form.component"; import * as i7 from "@angular/material/toolbar"; import * as i8 from "@angular/material/icon"; import * as i9 from "@angular/material/badge"; import * as i10 from "@angular/material/button"; import * as i11 from "@angular/material/tooltip"; import * as i12 from "@angular/material/paginator"; import * as i13 from "@angular/material/progress-spinner"; import * as i14 from "../emails-settings/email-settings.component"; function UserManagementViewComponent_div_1_Template(rf, ctx) { if (rf & 1) { var _r9 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 9); i0.ɵɵtext(1); i0.ɵɵelementStart(2, "a", 10); i0.ɵɵlistener("click", function UserManagementViewComponent_div_1_Template_a_click_2_listener() { i0.ɵɵrestoreView(_r9); var ctx_r8 = i0.ɵɵnextContext(); return ctx_r8.logout(); }); i0.ɵɵtext(3, "Logout"); i0.ɵɵelementEnd(); i0.ɵɵtext(4, ") "); i0.ɵɵelementEnd(); } if (rf & 2) { var ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵadvance(1); i0.ɵɵtextInterpolate1(" Currently connected as ", ctx_r0.me.email, " ("); } } function UserManagementViewComponent_ng_container_4_button_7_Template(rf, ctx) { if (rf & 1) { var _r13 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "button", 17); i0.ɵɵlistener("click", function UserManagementViewComponent_ng_container_4_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); var ctx_r12 = i0.ɵɵnextContext(2); return ctx_r12.configureEmails(); }); i0.ɵɵtext(1, "Configure emails"); i0.ɵɵelementEnd(); } } function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_span_1_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "span"); i0.ɵɵtext(1, "verified"); i0.ɵɵelementEnd(); } } function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_ng_template_2_Template(rf, ctx) { if (rf & 1) { var _r25 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "button", 30); i0.ɵɵlistener("click", function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_ng_template_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r25); var user_r18 = i0.ɵɵnextContext(2).$implicit; var ctx_r23 = i0.ɵɵnextContext(4); return ctx_r23.resendVerification(user_r18.id_user); }); i0.ɵɵtext(1, "Resend verification"); i0.ɵɵelementEnd(); } } function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "div", 28); i0.ɵɵtemplate(1, UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_span_1_Template, 2, 0, "span", 3); i0.ɵɵtemplate(2, UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_ng_template_2_Template, 2, 0, "ng-template", null, 29, i0.ɵɵtemplateRefExtractor); i0.ɵɵelementEnd(); } if (rf & 2) { var _r21 = i0.ɵɵreference(3); var user_r18 = i0.ɵɵnextContext().$implicit; i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", user_r18.verified)("ngIfElse", _r21); } } function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "div", 24); i0.ɵɵelement(1, "img", 25); i0.ɵɵelementStart(2, "div", 26); i0.ɵɵtext(3); i0.ɵɵelementEnd(); i0.ɵɵtemplate(4, UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_div_4_Template, 4, 2, "div", 27); i0.ɵɵelementEnd(); } if (rf & 2) { var user_r18 = ctx.$implicit; var ctx_r17 = i0.ɵɵnextContext(4); i0.ɵɵadvance(1); i0.ɵɵproperty("src", user_r18.gravatar, i0.ɵɵsanitizeUrl); i0.ɵɵadvance(2); i0.ɵɵtextInterpolate(user_r18.email); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx_r17.settings == null ? null : ctx_r17.settings.email_verification); } } function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_Template(rf, ctx) { if (rf & 1) { var _r28 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 20); i0.ɵɵelementStart(1, "div", 21); i0.ɵɵtemplate(2, UserManagementViewComponent_ng_container_4_ng_container_11_div_1_div_2_Template, 5, 3, "div", 22); i0.ɵɵelementEnd(); i0.ɵɵelementStart(3, "mat-paginator", 23); i0.ɵɵlistener("page", function UserManagementViewComponent_ng_container_4_ng_container_11_div_1_Template_mat_paginator_page_3_listener($event) { i0.ɵɵrestoreView(_r28); var ctx_r27 = i0.ɵɵnextContext(3); return ctx_r27.paginationEvent($event); }); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); } if (rf & 2) { var ctx_r14 = i0.ɵɵnextContext(3); i0.ɵɵadvance(1); i0.ɵɵstyleProp("overflow-y", "auto"); i0.ɵɵadvance(1); i0.ɵɵproperty("ngForOf", ctx_r14.users); i0.ɵɵadvance(1); i0.ɵɵproperty("length", ctx_r14.nbUsers)("pageIndex", ctx_r14.defaultPageIndex); } } function UserManagementViewComponent_ng_container_4_ng_container_11_ng_template_2_Template(rf, ctx) { if (rf & 1) { var _r30 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 31); i0.ɵɵelementStart(1, "span"); i0.ɵɵtext(2, "There is no users registered yet"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(3, "div"); i0.ɵɵelementStart(4, "button", 32); i0.ɵɵlistener("click", function UserManagementViewComponent_ng_container_4_ng_container_11_ng_template_2_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r30); var ctx_r29 = i0.ɵɵnextContext(3); return ctx_r29.openSignupDialog(); }); i0.ɵɵtext(5, " Create a user "); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); } if (rf & 2) { i0.ɵɵadvance(4); i0.ɵɵstyleProp("margin", "15px")("color", "white"); } } function UserManagementViewComponent_ng_container_4_ng_container_11_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementContainerStart(0); i0.ɵɵtemplate(1, UserManagementViewComponent_ng_container_4_ng_container_11_div_1_Template, 4, 5, "div", 18); i0.ɵɵtemplate(2, UserManagementViewComponent_ng_container_4_ng_container_11_ng_template_2_Template, 6, 4, "ng-template", null, 19, i0.ɵɵtemplateRefExtractor); i0.ɵɵelementContainerEnd(); } if (rf & 2) { var _r15 = i0.ɵɵreference(3); var ctx_r11 = i0.ɵɵnextContext(2); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx_r11.users && ctx_r11.users.length)("ngIfElse", _r15); } } function UserManagementViewComponent_ng_container_4_Template(rf, ctx) { if (rf & 1) { var _r32 = i0.ɵɵgetCurrentView(); i0.ɵɵelementContainerStart(0); i0.ɵɵelementStart(1, "mat-toolbar", 11); i0.ɵɵelementStart(2, "mat-icon"); i0.ɵɵtext(3, "people"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(4, "span", 12); i0.ɵɵtext(5, " Users "); i0.ɵɵelementEnd(); i0.ɵɵelement(6, "span", 13); i0.ɵɵtemplate(7, UserManagementViewComponent_ng_container_4_button_7_Template, 2, 0, "button", 14); i0.ɵɵelementStart(8, "button", 15); i0.ɵɵlistener("click", function UserManagementViewComponent_ng_container_4_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r32); var ctx_r31 = i0.ɵɵnextContext(); return ctx_r31.openSignupDialog(); }); i0.ɵɵelementStart(9, "mat-icon", 16); i0.ɵɵtext(10, "add"); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); i0.ɵɵtemplate(11, UserManagementViewComponent_ng_container_4_ng_container_11_Template, 4, 2, "ng-container", 3); i0.ɵɵelementContainerEnd(); } if (rf & 2) { var ctx_r1 = i0.ɵɵnextContext(); var _r2 = i0.ɵɵreference(6); i0.ɵɵadvance(4); i0.ɵɵproperty("matBadge", ctx_r1.nbUsers); i0.ɵɵadvance(3); i0.ɵɵproperty("ngIf", !ctx_r1.displayEmailSettings && ctx_r1.settings.email_verification && ctx_r1.settings.email_addon); i0.ɵɵadvance(4); i0.ɵɵproperty("ngIf", !ctx_r1.loading)("ngIfElse", _r2); } } function UserManagementViewComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "div", 33); i0.ɵɵelement(1, "mat-spinner"); i0.ɵɵelementEnd(); } } function UserManagementViewComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) { var _r34 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 31); i0.ɵɵelementStart(1, "span"); i0.ɵɵtext(2, "It seems "); i0.ɵɵelementStart(3, "strong"); i0.ɵɵtext(4, "@materia/users"); i0.ɵɵelementEnd(); i0.ɵɵtext(5, " addon is not configured yet"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(6, "div"); i0.ɵɵelementStart(7, "button", 32); i0.ɵɵlistener("click", function UserManagementViewComponent_ng_template_7_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r34); var ctx_r33 = i0.ɵɵnextContext(); return ctx_r33.openSetup.emit(); }); i0.ɵɵtext(8, " Settings "); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); } if (rf & 2) { i0.ɵɵadvance(7); i0.ɵɵstyleProp("margin", "15px")("color", "white"); } } function UserManagementViewComponent_div_9_Template(rf, ctx) { if (rf & 1) { var _r36 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 34); i0.ɵɵelementStart(1, "mat-toolbar", 11); i0.ɵɵelementStart(2, "button", 35); i0.ɵɵlistener("click", function UserManagementViewComponent_div_9_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r36); var ctx_r35 = i0.ɵɵnextContext(); return ctx_r35.hideEmailSettings(); }); i0.ɵɵelementStart(3, "mat-icon"); i0.ɵɵtext(4, "arrow_back"); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); i0.ɵɵelementStart(5, "mat-icon"); i0.ɵɵtext(6, "mail"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(7, "span"); i0.ɵɵtext(8, " Emails "); i0.ɵɵelementEnd(); i0.ɵɵelement(9, "span", 13); i0.ɵɵelementEnd(); i0.ɵɵelementStart(10, "materia-user-management-email-settings", 36); i0.ɵɵlistener("hide", function UserManagementViewComponent_div_9_Template_materia_user_management_email_settings_hide_10_listener() { i0.ɵɵrestoreView(_r36); var ctx_r37 = i0.ɵɵnextContext(); return ctx_r37.hideEmailSettings(); })("save", function UserManagementViewComponent_div_9_Template_materia_user_management_email_settings_save_10_listener($event) { i0.ɵɵrestoreView(_r36); var ctx_r38 = i0.ɵɵnextContext(); return ctx_r38.saveEmailSettings($event); }); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); } if (rf & 2) { var ctx_r6 = i0.ɵɵnextContext(); i0.ɵɵadvance(10); i0.ɵɵproperty("settings", ctx_r6.settings)("baseUrl", ctx_r6.baseUrl); } } var UserManagementViewComponent = /** @class */ (function () { function UserManagementViewComponent(dialog, http) { this.dialog = dialog; this.http = http; this.openSetup = new EventEmitter(); this.snackbarSuccess = new EventEmitter(); this.loading = true; this.users = []; this.nbUsers = 0; this.defaultPageIndex = 0; } UserManagementViewComponent.prototype.ngOnInit = function () { this.refreshList(); this.refreshConnectedUser(); this.getProfileParams(); }; UserManagementViewComponent.prototype.getProfileParams = function () { var _this = this; if (this.settings && this.settings.user_profile_enabled && this.settings.user_profile_entity) { return this.http .get(this.baseUrl + "/infos") .toPromise() .then(function (res) { var profileEntity = res.entities.find(function (entity) { return entity.name === _this.settings.user_profile_entity; }); _this.profileFields = profileEntity.fields.filter(function (field) { return field.name !== 'id_user' && (!field.primary || (field.primary && !field.autoIncrement)); }); }) .catch(function (e) { _this.profileFields = []; }); } else { this.profileFields = []; return Promise.resolve(); } }; UserManagementViewComponent.prototype.refreshList = function (params) { var _this = this; this.loading = true; this.http .post(this.baseUrl + "/entities/user/queries/listWithGravatar", params) .subscribe(function (res) { _this.users = res.data; _this.nbUsers = res.count; _this.loading = false; }); }; UserManagementViewComponent.prototype.refreshConnectedUser = function () { var _this = this; this.http.get(this.apiUrl + "/user/me").subscribe(function (res) { _this.me = res; }, function () { return (_this.me = null); }); }; UserManagementViewComponent.prototype.paginationEvent = function (event) { this.defaultPageIndex = event.pageIndex; this.refreshList({ limit: event.pageSize, page: event.pageIndex + 1 }); }; UserManagementViewComponent.prototype.configureEmails = function () { this.displayEmailSettings = true; }; UserManagementViewComponent.prototype.hideEmailSettings = function () { this.displayEmailSettings = false; }; UserManagementViewComponent.prototype.openSignupDialog = function () { this.signupDialog = this.dialog.open(this.signupDialogComp.template, { panelClass: 'no-padding' }); }; UserManagementViewComponent.prototype.saveEmailSettings = function (settings) { var _this = this; this.http .post(this.baseUrl + "/addons/@materia/users/setup", settings) .subscribe(function () { _this.snackbarSuccess.emit('Settings saved!'); _this.hideEmailSettings(); _this.settings = settings; }); }; UserManagementViewComponent.prototype.closeSignupDialog = function () { this.signupDialog.close(); }; UserManagementViewComponent.prototype.signup = function (user) { var _this = this; this.http.post(this.apiUrl + "/user/signup", user).subscribe(function () { _this.closeSignupDialog(); _this.refreshList(); _this.refreshConnectedUser(); }); }; UserManagementViewComponent.prototype.logout = function () { var _this = this; this.http.post(this.apiUrl + "/user/logout", {}).subscribe(function () { _this.refreshConnectedUser(); }, function () { return _this.refreshConnectedUser(); }); }; UserManagementViewComponent.prototype.resendVerification = function (id) { var _this = this; this.http.post(this.baseUrl + "/entities/user/queries/sendVerificationEmail", { id_user: id }) .subscribe(function () { return _this.snackbarSuccess.emit('Verification email sent!'); }); }; UserManagementViewComponent.ctorParameters = function () { return [ { type: MatDialog }, { type: HttpClient } ]; }; UserManagementViewComponent.ɵfac = function UserManagementViewComponent_Factory(t) { return new (t || UserManagementViewComponent)(i0.ɵɵdirectiveInject(i1.MatDialog), i0.ɵɵdirectiveInject(i2.HttpClient)); }; UserManagementViewComponent.ɵcmp = i0.ɵɵdefineComponent({ type: UserManagementViewComponent, selectors: [["materia-user-management"]], viewQuery: function UserManagementViewComponent_Query(rf, ctx) { if (rf & 1) { i0.ɵɵstaticViewQuery(SignupFormComponent, true); } if (rf & 2) { var _t; i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.signupDialogComp = _t.first); } }, inputs: { app: "app", settings: "settings", baseUrl: "baseUrl", apiUrl: "apiUrl" }, outputs: { openSetup: "openSetup", snackbarSuccess: "snackbarSuccess" }, decls: 12, vars: 5, consts: [["fxLayout", "column", "fxFlex", ""], ["style", "padding: 8px 16px; background-color: #4CAF50; color: white;", 4, "ngIf"], ["fxLayout", "row", "fxFlex", ""], [4, "ngIf", "ngIfElse"], ["loadingUsers", ""], ["noSettings", ""], ["style", "margin: 8px;", "fxLayout", "column", "fxFlex", "", 4, "ngIf"], [3, "profileFields", "signup", "cancel"], ["signupFormTemplate", ""], [2, "padding", "8px 16px", "background-color", "#4CAF50", "color", "white"], [2, "text-decoration", "underline", "cursor", "pointer", 3, "click"], ["fxLayout", "row", "fxLayoutAlign", "start center"], ["matBadgeOverlap", "false", 3, "matBadge"], ["fxFlex", ""], ["style", "margin-right: 8px;", "mat-button", "", 3, "click", 4, "ngIf"], ["mat-mini-fab", "", "matTooltip", "New User", "matTooltipPosition", "left", 2, "width", "31px", "height", "31px", 3, "click"], [2, "position", "relative", "top", "-6px", "left", "-4px"], ["mat-button", "", 2, "margin-right", "8px", 3, "click"], ["style", "border-top: 1px solid #EEE; overflow-y: auto;", "fxLayout", "column", "fxFlex", "", 4, "ngIf", "ngIfElse"], ["noUser", ""], ["fxLayout", "column", "fxFlex", "", 2, "border-top", "1px solid #EEE", "overflow-y", "auto"], ["fxFlex", "", "fxLayout", "column"], ["fxLayout", "row", "fxLayoutAlign", "start center", "style", "border-bottom: 1px solid #EEE; cursor: pointer;min-height: 40px", 4, "ngFor", "ngForOf"], ["hidePageSize", "true", "showFirstLastButtons", "true", 3, "length", "pageIndex", "page"], ["fxLayout", "row", "fxLayoutAlign", "start center", 2, "border-bottom", "1px solid #EEE", "cursor", "pointer", "min-height", "40px"], [1, "avatar", 2, "margin", "0 8px", "width", "32px", "height", "32px", "border-radius", "100%", 3, "src"], ["fxFlex", "", 2, "color", "#999", "padding-top", "0"], ["class", "verified", 4, "ngIf"], [1, "verified"], ["resendTemplate", ""], ["mat-button", "", 3, "click"], ["fxFlex", "", "fxLayout", "column", "fxLayoutAlign", "center center", 1, "no-users"], ["mat-raised-button", "", "color", "primary", 3, "click"], ["fxLayout", "column", "fxFlex", "", "fxLayoutAlign", "center center"], ["fxLayout", "column", "fxFlex", "", 2, "margin", "8px"], ["mat-icon-button", "", "matTooltip", "Hide email settings", "matTooltipPosition", "right", 3, "click"], ["fxFlex", "", 2, "overflow-y", "auto", 3, "settings", "baseUrl", "hide", "save"]], template: function UserManagementViewComponent_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "div", 0); i0.ɵɵtemplate(1, UserManagementViewComponent_div_1_Template, 5, 1, "div", 1); i0.ɵɵelementStart(2, "div", 2); i0.ɵɵelementStart(3, "mat-card", 0); i0.ɵɵtemplate(4, UserManagementViewComponent_ng_container_4_Template, 12, 4, "ng-container", 3); i0.ɵɵelementEnd(); i0.ɵɵtemplate(5, UserManagementViewComponent_ng_template_5_Template, 2, 0, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor); i0.ɵɵtemplate(7, UserManagementViewComponent_ng_template_7_Template, 9, 4, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor); i0.ɵɵtemplate(9, UserManagementViewComponent_div_9_Template, 11, 2, "div", 6); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); i0.ɵɵelementStart(10, "materia-signup-form", 7, 8); i0.ɵɵlistener("signup", function UserManagementViewComponent_Template_materia_signup_form_signup_10_listener($event) { return ctx.signup($event); })("cancel", function UserManagementViewComponent_Template_materia_signup_form_cancel_10_listener() { return ctx.closeSignupDialog(); }); i0.ɵɵelementEnd(); } if (rf & 2) { var _r4 = i0.ɵɵreference(8); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx.me); i0.ɵɵadvance(3); i0.ɵɵproperty("ngIf", ctx.settings == null ? null : ctx.settings.method)("ngIfElse", _r4); i0.ɵɵadvance(5); i0.ɵɵproperty("ngIf", ctx.displayEmailSettings); i0.ɵɵadvance(1); i0.ɵɵproperty("profileFields", ctx.profileFields); } }, directives: [i3.DefaultLayoutDirective, i3.DefaultFlexDirective, i4.NgIf, i5.MatCard, i6.SignupFormComponent, i7.MatToolbar, i3.DefaultLayoutAlignDirective, i8.MatIcon, i9.MatBadge, i10.MatButton, i11.MatTooltip, i4.NgForOf, i12.MatPaginator, i13.MatSpinner, i14.EmailSettingsComponent], styles: ["[_nghost-%COMP%]{flex:1 1 0} .mat-paginator-container{background:#f5f5f5}mat-card[_ngcontent-%COMP%]{margin:8px;padding:0}mat-icon[_ngcontent-%COMP%]{margin:2px 8px}.no-users[_ngcontent-%COMP%]{font-style:italic}.verified[_ngcontent-%COMP%]{margin:0 15px}.verified[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#4caf50;font-size:14px;font-weight:700;margin:0 16px}"] }); UserManagementViewComponent = __decorate([ AddonView('@materia/users'), __metadata("design:paramtypes", [MatDialog, HttpClient]) ], UserManagementViewComponent); return UserManagementViewComponent; }()); export { UserManagementViewComponent }; /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(UserManagementViewComponent, [{ type: Component, args: [{ selector: 'materia-user-management', templateUrl: './user-management.component.html', styleUrls: ['./user-management.component.scss'] }] }], function () { return [{ type: i1.MatDialog }, { type: i2.HttpClient }]; }, { app: [{ type: Input }], settings: [{ type: Input }], baseUrl: [{ type: Input }], apiUrl: [{ type: Input }], openSetup: [{ type: Output }], snackbarSuccess: [{ type: Output }], signupDialogComp: [{ type: ViewChild, args: [SignupFormComponent, { static: true }] }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtYXRlcmlhL3VzZXJzLyIsInNvdXJjZXMiOlsidXNlci1tYW5hZ2VtZW50L3VzZXItbWFuYWdlbWVudC5jb21wb25lbnQudHMiLCJ1c2VyLW1hbmFnZW1lbnQvdXNlci1tYW5hZ2VtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ2QxRSw4QkFDQztJQUFBLFlBQXFDO0lBQUEsNkJBQTJFO0lBQW5CLG9MQUFrQjtJQUFDLHNCQUFNO0lBQUEsaUJBQUk7SUFBQSxrQkFDM0g7SUFBQSxpQkFBTTs7O0lBREwsZUFBcUM7SUFBckMsd0VBQXFDOzs7O0lBV2xDLGtDQUErSjtJQUF2Qyx3TkFBMkI7SUFBWSxnQ0FBZ0I7SUFBQSxpQkFBUzs7O0lBWXBMLDRCQUFpRDtJQUFBLHdCQUFRO0lBQUEsaUJBQU87Ozs7SUFFL0Qsa0NBQThEO0lBQTNDLGdVQUEwQztJQUFDLG1DQUFtQjtJQUFBLGlCQUFTOzs7SUFINUYsK0JBQ0M7SUFBQSwrSEFBaUQ7SUFDakQsK0tBQ0M7SUFFRixpQkFBTTs7OztJQUpDLGVBQTBDO0lBQTFDLHdDQUEwQyxrQkFBQTs7O0lBSmxELCtCQUNDO0lBQUEsMEJBQ0E7SUFBQSwrQkFBZ0Q7SUFBQSxZQUFjO0lBQUEsaUJBQU07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Y2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHsgQWRkb25WaWV3IH0gZnJvbSAnQG1hdGVyaWEvYWRkb25zJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IElBcHAgfSBmcm9tICdAbWF0ZXJpYS9pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgU2lnbnVwRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL3NpZ251cC1mb3JtL3NpZ251cC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyTWFuYWdlbWVudFNldHRpbmdzIH0gZnJvbSAnLi4vbW9kZWxzL3VzZXItc2V0dGluZy5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlciB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGdyYXZhdGFyOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdmVyaWZpZWQ/OiBib29sZWFuO1xuICBpZF9zdHJpcGU/OiBzdHJpbmc7XG4gIGlkX3VzZXI/OiBudW1iZXI7XG59XG5cbkBBZGRvblZpZXcoJ0BtYXRlcmlhL3VzZXJzJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hdGVyaWEtdXNlci1tYW5hZ2VtZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItbWFuYWdlbWVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VzZXItbWFuYWdlbWVudC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJNYW5hZ2VtZW50Vmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGFwcDogSUFwcDtcbiAgQElucHV0KCkgc2V0dGluZ3M6IFVzZXJNYW5hZ2VtZW50U2V0dGluZ3M7XG4gIEBJbnB1dCgpIGJhc2VVcmw6IHN0cmluZztcbiAgQElucHV0KCkgYXBpVXJsOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIG9wZW5TZXR1cCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHNuYWNrYmFyU3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBWaWV3Q2hpbGQoU2lnbnVwRm9ybUNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgc2lnbnVwRGlhbG9nQ29tcDogU2lnbnVwRm9ybUNvbXBvbmVudDtcblxuICBsb2FkaW5nID0gdHJ1ZTtcbiAgbWU6IGFueTtcbiAgdXNlcnM6IFVzZXJbXSA9IFtdO1xuICBuYlVzZXJzID0gMDtcbiAgc2lnbnVwRGlhbG9nOiBNYXREaWFsb2dSZWY8YW55PjtcbiAgcHJvZmlsZUZpZWxkczogYW55W107XG4gIGRpc3BsYXlFbWFpbFNldHRpbmdzOiBib29sZWFuO1xuICBkZWZhdWx0UGFnZUluZGV4ID0gMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZWZyZXNoTGlzdCgpO1xuICAgIHRoaXMucmVmcmVzaENvbm5lY3RlZFVzZXIoKTtcbiAgICB0aGlzLmdldFByb2ZpbGVQYXJhbXMoKTtcbiAgfVxuXG4gIGdldFByb2ZpbGVQYXJhbXMoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zZXR0aW5ncyAmJlxuICAgICAgdGhpcy5zZXR0aW5ncy51c2VyX3Byb2ZpbGVfZW5hYmxlZCAmJlxuICAgICAgdGhpcy5zZXR0aW5ncy51c2VyX3Byb2ZpbGVfZW50aXR5XG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgIC5nZXQ8YW55PihgJHt0aGlzLmJhc2VVcmx9L2luZm9zYClcbiAgICAgICAgLnRvUHJvbWlzZSgpXG4gICAgICAgIC50aGVuKHJlcyA9PiB7XG4gICAgICAgICAgY29uc3QgcHJvZmlsZUVudGl0eSA9IHJlcy5lbnRpdGllcy5maW5kKFxuICAgICAgICAgICAgZW50aXR5ID0+IGVudGl0eS5uYW1lID09PSB0aGlzLnNldHRpbmdzLnVzZXJfcHJvZmlsZV9lbnRpdHlcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMucHJvZmlsZUZpZWxkcyA9IHByb2ZpbGVFbnRpdHkuZmllbGRzLmZpbHRlcihcbiAgICAgICAgICAgIGZpZWxkID0+XG4gICAgICAgICAgICAgIGZpZWxkLm5hbWUgIT09ICdpZF91c2VyJyAmJlxuICAgICAgICAgICAgICAoIWZpZWxkLnByaW1hcnkgfHwgKGZpZWxkLnByaW1hcnkgJiYgIWZpZWxkLmF1dG9JbmNyZW1lbnQpKVxuICAgICAgICAgICk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaChlID0+IHtcbiAgICAgICAgICB0aGlzLnByb2ZpbGVGaWVsZHMgPSBbXTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvZmlsZUZpZWxkcyA9IFtdO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJlZnJlc2hMaXN0KHBhcmFtcz8pIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLmJhc2VVcmx9L2VudGl0aWVzL3VzZXIvcXVlcmllcy9saXN0V2l0aEdyYXZhdGFyYCwgcGFyYW1zKVxuICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICB0aGlzLnVzZXJzID0gcmVzLmRhdGE7XG4gICAgICAgIHRoaXMubmJVc2VycyA9IHJlcy5jb3VudDtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIHJlZnJlc2hDb25uZWN0ZWRVc2VyKCkge1xuICAgIHRoaXMuaHR0cC5nZXQ8YW55PihgJHt0aGlzLmFwaVVybH0vdXNlci9tZWApLnN1YnNjcmliZShcbiAgICAgIHJlcyA9PiB7XG4gICAgICAgIHRoaXMubWUgPSByZXM7XG4gICAgICB9LFxuICAgICAgKCkgPT4gKHRoaXMubWUgPSBudWxsKVxuICAgICk7XG4gIH1cblxuICBwYWdpbmF0aW9uRXZlbnQoZXZlbnQ6IFBhZ2VFdmVudCkge1xuICAgIHRoaXMuZGVmYXVsdFBhZ2VJbmRleCA9IGV2ZW50LnBhZ2VJbmRleDtcbiAgICB0aGlzLnJlZnJlc2hMaXN0KHtsaW1pdDogZXZlbnQucGFnZVNpemUsIHBhZ2U6IGV2ZW50LnBhZ2VJbmRleCArIDF9KTtcbiAgfVxuXG4gIGNvbmZpZ3VyZUVtYWlscygpIHtcbiAgICB0aGlzLmRpc3BsYXlFbWFpbFNldHRpbmdzID0gdHJ1ZTtcbiAgfVxuXG4gIGhpZGVFbWFpbFNldHRpbmdzKCkge1xuICAgIHRoaXMuZGlzcGxheUVtYWlsU2V0dGluZ3MgPSBmYWxzZTtcbiAgfVxuXG4gIG9wZW5TaWdudXBEaWFsb2coKSB7XG4gICAgdGhpcy5zaWdudXBEaWFsb2cgPSB0aGlzLmRpYWxvZy5vcGVuKHRoaXMuc2lnbnVwRGlhbG9nQ29tcC50ZW1wbGF0ZSwge1xuICAgICAgcGFuZWxDbGFzczogJ25vLXBhZGRpbmcnXG4gICAgfSk7XG4gIH1cblxuICBzYXZlRW1haWxTZXR0aW5ncyhzZXR0aW5ncykge1xuICAgIHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLmJhc2VVcmx9L2FkZG9ucy9AbWF0ZXJpYS91c2Vycy9zZXR1cGAsIHNldHRpbmdzKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tiYXJTdWNjZXNzLmVtaXQoJ1NldHRpbmdzIHNhdmVkIScpO1xuICAgICAgICB0aGlzLmhpZGVFbWFpbFNldHRpbmdzKCk7XG4gICAgICAgIHRoaXMuc2V0dGluZ3MgPSBzZXR0aW5ncztcbiAgICAgIH0pO1xuICB9XG5cbiAgY2xvc2VTaWdudXBEaWFsb2coKSB7XG4gICAgdGhpcy5zaWdudXBEaWFsb2cuY2xvc2UoKTtcbiAgfVxuXG4gIHNpZ251cCh1c2VyKSB7XG4gICAgdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLmFwaVVybH0vdXNlci9zaWdudXBgLCB1c2VyKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jbG9zZVNpZ251cERpYWxvZygpO1xuICAgICAgdGhpcy5yZWZyZXNoTGlzdCgpO1xuICAgICAgdGhpcy5yZWZyZXNoQ29ubmVjdGVkVXNlcigpO1xuICAgIH0pO1xuICB9XG5cbiAgbG9nb3V0KCkge1xuICAgIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy5hcGlVcmx9L3VzZXIvbG9nb3V0YCwge30pLnN1YnNjcmliZShcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5yZWZyZXNoQ29ubmVjdGVkVXNlcigpO1xuICAgICAgfSxcbiAgICAgICgpID0+IHRoaXMucmVmcmVzaENvbm5lY3RlZFVzZXIoKVxuICAgICk7XG4gIH1cblxuICByZXNlbmRWZXJpZmljYXRpb24oaWQpIHtcbiAgICB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMuYmFzZVVybH0vZW50aXRpZXMvdXNlci9xdWVyaWVzL3NlbmRWZXJpZmljYXRpb25FbWFpbGAsIHtpZF91c2VyOiBpZH0pXG4gICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNuYWNrYmFyU3VjY2Vzcy5lbWl0KCdWZXJpZmljYXRpb24gZW1haWwgc2VudCEnKSk7XG4gIH1cbn1cbiIsIjxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZsZXg+XG5cdDxkaXYgKm5nSWY9XCJtZVwiIHN0eWxlPVwicGFkZGluZzogOHB4IDE2cHg7IGJhY2tncm91bmQtY29sb3I6ICM0Q0FGNTA7IGNvbG9yOiB3aGl0ZTtcIj5cblx0XHRDdXJyZW50bHkgY29ubmVjdGVkIGFzIHt7bWUuZW1haWx9fSAoPGEgc3R5bGU9XCJ0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgY3Vyc29yOiBwb2ludGVyO1wiIChjbGljayk9XCJsb2dvdXQoKVwiPkxvZ291dDwvYT4pXG5cdDwvZGl2PlxuXHQ8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhGbGV4PlxuXHRcdDxtYXQtY2FyZCBmeExheW91dD1cImNvbHVtblwiIGZ4RmxleD5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJzZXR0aW5ncz8ubWV0aG9kOyBlbHNlIG5vU2V0dGluZ3NcIj5cblx0XHRcdFx0PG1hdC10b29sYmFyIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxuXHRcdFx0XHRcdDxtYXQtaWNvbj5wZW9wbGU8L21hdC1pY29uPlxuXHRcdFx0XHRcdDxzcGFuIFttYXRCYWRnZV09XCJuYlVzZXJzXCIgbWF0QmFkZ2VPdmVybGFwPVwiZmFsc2VcIj5cblx0XHRcdFx0XHRcdFVzZXJzXG5cdFx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHRcdDxzcGFuIGZ4RmxleD48L3NwYW4+XG5cdFx0XHRcdFx0PGJ1dHRvbiAqbmdJZj1cIiFkaXNwbGF5RW1haWxTZXR0aW5ncyAmJiBzZXR0aW5ncy5lbWFpbF92ZXJpZmljYXRpb24gJiYgc2V0dGluZ3MuZW1haWxfYWRkb25cIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogOHB4O1wiIChjbGljayk9XCJjb25maWd1cmVFbWFpbHMoKVwiIG1hdC1idXR0b24+Q29uZmlndXJlIGVtYWlsczwvYnV0dG9uPlxuXHRcdFx0XHRcdDxidXR0b24gbWF0LW1pbmktZmFiIChjbGljayk9XCJvcGVuU2lnbnVwRGlhbG9nKClcIiBtYXRUb29sdGlwPVwiTmV3IFVzZXJcIiBtYXRUb29sdGlwUG9zaXRpb249XCJsZWZ0XCIgc3R5bGU9XCJ3aWR0aDogMzFweDsgaGVpZ2h0OiAzMXB4O1wiPlxuXHRcdFx0XHRcdFx0PG1hdC1pY29uIHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IC02cHg7IGxlZnQ6IC00cHg7XCI+YWRkPC9tYXQtaWNvbj5cblx0XHRcdFx0XHQ8L2J1dHRvbj5cblx0XHRcdFx0PC9tYXQtdG9vbGJhcj5cblx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nOyBlbHNlIGxvYWRpbmdVc2Vyc1wiPlxuXHRcdFx0XHRcdDxkaXYgKm5nSWY9XCJ1c2VycyAmJiB1c2Vycy5sZW5ndGg7IGVsc2Ugbm9Vc2VyXCIgc3R5bGU9XCJib3JkZXItdG9wOiAxcHggc29saWQgI0VFRTsgb3ZlcmZsb3cteTogYXV0bztcIiBmeExheW91dD1cImNvbHVtblwiIGZ4RmxleD5cblx0XHRcdFx0XHRcdDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwiY29sdW1uXCIgW3N0eWxlLm92ZXJmbG93WV09XCInYXV0bydcIj5cblx0XHRcdFx0XHRcdFx0PGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiAqbmdGb3I9XCJsZXQgdXNlciBvZiB1c2Vyc1wiIHN0eWxlPVwiYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFRUU7IGN1cnNvcjogcG9pbnRlcjttaW4taGVpZ2h0OiA0MHB4XCI+XG5cdFx0XHRcdFx0XHRcdFx0PGltZyBbc3JjXT1cInVzZXIuZ3JhdmF0YXJcIiBjbGFzcz1cImF2YXRhclwiIHN0eWxlPVwibWFyZ2luOiAwIDhweDsgd2lkdGg6MzJweDsgaGVpZ2h0OjMycHg7Ym9yZGVyLXJhZGl1czogMTAwJVwiIC8+XG5cdFx0XHRcdFx0XHRcdFx0PGRpdiBzdHlsZT1cImNvbG9yOiAjOTk5OyBwYWRkaW5nLXRvcDogMFwiIGZ4RmxleD57e3VzZXIuZW1haWx9fTwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ2ZXJpZmllZFwiICpuZ0lmPVwic2V0dGluZ3M/LmVtYWlsX3ZlcmlmaWNhdGlvblwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHNwYW4gKm5nSWY9XCJ1c2VyLnZlcmlmaWVkOyBlbHNlIHJlc2VuZFRlbXBsYXRlXCI+dmVyaWZpZWQ8L3NwYW4+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgI3Jlc2VuZFRlbXBsYXRlPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cInJlc2VuZFZlcmlmaWNhdGlvbih1c2VyLmlkX3VzZXIpXCI+UmVzZW5kIHZlcmlmaWNhdGlvbjwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdDxtYXQtcGFnaW5hdG9yXG5cdFx0XHRcdFx0XHRcdGhpZGVQYWdlU2l6ZT1cInRydWVcIlxuXHRcdFx0XHRcdFx0XHRzaG93Rmlyc3RMYXN0QnV0dG9ucz1cInRydWVcIlxuXHRcdFx0XHRcdFx0XHRbbGVuZ3RoXT1cIm5iVXNlcnNcIlxuXHRcdFx0XHRcdFx0XHRbcGFnZUluZGV4XT1cImRlZmF1bHRQYWdlSW5kZXhcIlxuXHRcdFx0XHRcdFx0XHQocGFnZSk9XCJwYWdpbmF0aW9uRXZlbnQoJGV2ZW50KVwiPlxuXHRcdFx0XHRcdFx0PC9tYXQtcGFnaW5hdG9yPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSAjbm9Vc2VyPlxuXHRcdFx0XHRcdFx0PGRpdiBmeEZsZXggZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGNsYXNzPVwibm8tdXNlcnNcIj5cblx0XHRcdFx0XHRcdFx0PHNwYW4+VGhlcmUgaXMgbm8gdXNlcnMgcmVnaXN0ZXJlZCB5ZXQ8L3NwYW4+XG5cdFx0XHRcdFx0XHRcdDxkaXY+XG5cdFx0XHRcdFx0XHRcdFx0PGJ1dHRvbiAoY2xpY2spPVwib3BlblNpZ251cERpYWxvZygpXCIgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW3N0eWxlLm1hcmdpbl09XCInMTVweCdcIiBbc3R5bGUuY29sb3JdPVwiJ3doaXRlJ1wiPlxuXHRcdFx0XHRcdFx0XHRcdFx0Q3JlYXRlIGEgdXNlclxuXHRcdFx0XHRcdFx0XHRcdDwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHRcdDwvbmctY29udGFpbmVyPlxuXHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0PC9tYXQtY2FyZD5cblx0XHQ8bmctdGVtcGxhdGUgI2xvYWRpbmdVc2Vycz5cblx0XHRcdDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZsZXggZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cblx0XHRcdFx0PG1hdC1zcGlubmVyPjwvbWF0LXNwaW5uZXI+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdDxuZy10ZW1wbGF0ZSAjbm9TZXR0aW5ncz5cblx0XHRcdDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBjbGFzcz1cIm5vLXVzZXJzXCI+XG5cdFx0XHRcdDxzcGFuPkl0IHNlZW1zIDxzdHJvbmc+QG1hdGVyaWEvdXNlcnM8L3N0cm9uZz4gYWRkb24gaXMgbm90IGNvbmZpZ3VyZWQgeWV0PC9zcGFuPlxuXHRcdFx0XHQ8ZGl2PlxuXHRcdFx0XHRcdDxidXR0b24gKGNsaWNrKT1cIm9wZW5TZXR1cC5lbWl0KClcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBbc3R5bGUubWFyZ2luXT1cIicxNXB4J1wiIFtzdHlsZS5jb2xvcl09XCInd2hpdGUnXCI+XG5cdFx0XHRcdFx0XHRTZXR0aW5nc1xuXHRcdFx0XHRcdDwvYnV0dG9uPlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PlxuXHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0PGRpdiBzdHlsZT1cIm1hcmdpbjogOHB4O1wiICpuZ0lmPVwiZGlzcGxheUVtYWlsU2V0dGluZ3NcIiBmeExheW91dD1cImNvbHVtblwiIGZ4RmxleD5cblx0XHRcdDxtYXQtdG9vbGJhciBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cblx0XHRcdFx0PGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImhpZGVFbWFpbFNldHRpbmdzKClcIiBtYXRUb29sdGlwPVwiSGlkZSBlbWFpbCBzZXR0aW5nc1wiIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCI+XG5cdFx0XHRcdFx0PG1hdC1pY29uPmFycm93X2JhY2s8L21hdC1pY29uPlxuXHRcdFx0XHQ8L2J1dHRvbj5cblx0XHRcdFx0PG1hdC1pY29uPm1haWw8L21hdC1pY29uPlxuXHRcdFx0XHQ8c3Bhbj5cblx0XHRcdFx0XHRFbWFpbHNcblx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHQ8c3BhbiBmeEZsZXg+PC9zcGFuPlxuXHRcdFx0PC9tYXQtdG9vbGJhcj5cblx0XHRcdDxtYXRlcmlhLXVzZXItbWFuYWdlbWVudC1lbWFpbC1zZXR0aW5ncyBbc2V0dGluZ3NdPVwic2V0dGluZ3NcIiBbYmFzZVVybF09XCJiYXNlVXJsXCJcblx0XHRcdFx0KGhpZGUpPVwiaGlkZUVtYWlsU2V0dGluZ3MoKVwiIChzYXZlKT1cInNhdmVFbWFpbFNldHRpbmdzKCRldmVudClcIiBmeEZsZXggc3R5bGU9XCJvdmVyZmxvdy15OiBhdXRvO1wiPlxuXHRcdFx0PC9tYXRlcmlhLXVzZXItbWFuYWdlbWVudC1lbWFpbC1zZXR0aW5ncz5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L2Rpdj5cbjxtYXRlcmlhLXNpZ251cC1mb3JtICNzaWdudXBGb3JtVGVtcGxhdGUgW3Byb2ZpbGVGaWVsZHNdPVwicHJvZmlsZUZpZWxkc1wiIChzaWdudXApPVwic2lnbnVwKCRldmVudClcIiAoY2FuY2VsKT1cImNsb3NlU2lnbnVwRGlhbG9nKClcIj48L21hdGVyaWEtc2lnbnVwLWZvcm0+Il19