PageSourceSearch

https://virtrolio.web.app/main-es5.js

js virtrolio.web.app collected 2026-10-03 12:39:31 UTC 728,116 bytes, 13,756 lines download raw bytes

1(function () {
2  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
3
4  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
5
6  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) { n[e] = r[e]; } return n; }
7
8  function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
9
10  function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
11
12  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
14  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
15
16  function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
17
18  (self["webpackChunkvirtrolio_site"] = self["webpackChunkvirtrolio_site"] || []).push([["main"], {
19    /***/
20    98255:
21    /*!*******************************************************!*\
22      !*** ./$_lazy_route_resources/ lazy namespace object ***!
23      \*******************************************************/
24
25    /***/
26    function _(module) {
27      function webpackEmptyAsyncContext(req) {
28        // Here Promise.resolve().then() is used instead of new Promise() to prevent
29        // uncaught exception popping up in devtools
30        return Promise.resolve().then(function () {
31          var e = new Error("Cannot find module '" + req + "'");
32          e.code = 'MODULE_NOT_FOUND';
33          throw e;
34        });
35      }
36
37      webpackEmptyAsyncContext.keys = function () {
38        return [];
39      };
40
41      webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;
42      webpackEmptyAsyncContext.id = 98255;
43      module.exports = webpackEmptyAsyncContext;
44      /***/
45    },
46
47    /***/
48    90158:
49    /*!***************************************!*\
50      !*** ./src/app/app-routing.module.ts ***!
51      \***************************************/
52
53    /***/
54    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
55      "use strict";
56
57      __webpack_require__.r(__webpack_exports__);
58      /* harmony export */
59
60
61      __webpack_require__.d(__webpack_exports__, {
62        /* harmony export */
63        "AppRoutingModule": function AppRoutingModule() {
64          return (
65            /* binding */
66            _AppRoutingModule
67          );
68        }
69        /* harmony export */
70
71      });
72      /* harmony import */
73
74
75      var _angular_fire_auth_guard__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(
76      /*! @angular/fire/auth-guard */
77      68386);
78      /* harmony import */
79
80
81      var _core_pending_changes_guard__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
82      /*! ./core/pending-changes.guard */
83      88989);
84      /* harmony import */
85
86
87      var _angular_router__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(
88      /*! @angular/router */
89      39895);
90      /* harmony import */
91
92
93      var _pages_about_about_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
94      /*! ./pages/about/about.component */
95      73794);
96      /* harmony import */
97
98
99      var _pages_access_denied_beta_access_denied_beta_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
100      /*! ./pages/access-denied-beta/access-denied-beta.component */
101      40970);
102      /* harmony import */
103
104
105      var _pages_access_denied_access_denied_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
106      /*! ./pages/access-denied/access-denied.component */
107      91452);
108      /* harmony import */
109
110
111      var _pages_contact_contact_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
112      /*! ./pages/contact/contact.component */
113      45996);
114      /* harmony import */
115
116
117      var _pages_faq_faq_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
118      /*! ./pages/faq/faq.component */
119      16459);
120      /* harmony import */
121
122
123      var _pages_home_home_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
124      /*! ./pages/home/home.component */
125      25245);
126      /* harmony import */
127
128
129      var _pages_invalid_link_invalid_link_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
130      /*! ./pages/invalid-link/invalid-link.component */
131      84892);
132      /* harmony import */
133
134
135      var _pages_msg_sent_msg_sent_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(
136      /*! ./pages/msg-sent/msg-sent.component */
137      88198);
138      /* harmony import */
139
140
141      var _pages_my_virtrolio_my_virtrolio_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(
142      /*! ./pages/my-virtrolio/my-virtrolio.component */
143      32093);
144      /* harmony import */
145
146
147      var _pages_page_not_found_page_not_found_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(
148      /*! ./pages/page-not-found/page-not-found.component */
149      78340);
150      /* harmony import */
151
152
153      var _pages_privacy_policy_privacy_policy_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(
154      /*! ./pages/privacy-policy/privacy-policy.component */
155      3654);
156      /* harmony import */
157
158
159      var _pages_settings_settings_component__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(
160      /*! ./pages/settings/settings.component */
161      65814);
162      /* harmony import */
163
164
165      var _pages_signing_auth_redirect_signing_auth_redirect_component__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(
166      /*! ./pages/signing-auth-redirect/signing-auth-redirect.component */
167      83964);
168      /* harmony import */
169
170
171      var _pages_signing_signing_component__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(
172      /*! ./pages/signing/signing.component */
173      63168);
174      /* harmony import */
175
176
177      var _pages_terms_of_service_terms_of_service_component__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(
178      /*! ./pages/terms-of-service/terms-of-service.component */
179      21912);
180      /* harmony import */
181
182
183      var _pages_viewing_viewing_component__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(
184      /*! ./pages/viewing/viewing.component */
185      68106);
186      /* harmony import */
187
188
189      var _core_login_resolver__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(
190      /*! ./core/login-resolver */
191      55249);
192      /* harmony import */
193
194
195      var _pages_maintenance_maintenance_component__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(
196      /*! ./pages/maintenance/maintenance.component */
197      20479);
198      /* harmony import */
199
200
201      var _pages_rejecc_rejecc_component__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(
202      /*! ./pages/rejecc/rejecc.component */
203      79668);
204      /* harmony import */
205
206
207      var _core_signing_guard__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(
208      /*! ./core/signing.guard */
209      49001);
210      /* harmony import */
211
212
213      var _angular_core__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(
214      /*! @angular/core */
215      37716); // Pages
216      // Services & Guards
217
218
219      var redirectUnauthorized = function redirectUnauthorized() {
220        return (0, _angular_fire_auth_guard__WEBPACK_IMPORTED_MODULE_21__.redirectUnauthorizedTo)(['/access-denied']);
221      };
222
223      var routes = [{
224        path: '',
225        component: _pages_home_home_component__WEBPACK_IMPORTED_MODULE_6__.HomeComponent,
226        resolve: {
227          user: _core_login_resolver__WEBPACK_IMPORTED_MODULE_17__.LoginResolver
228        }
229      }, {
230        path: 'about',
231        component: _pages_about_about_component__WEBPACK_IMPORTED_MODULE_1__.AboutComponent
232      }, {
233        path: 'access-denied-beta',
234        component: _pages_access_denied_beta_access_denied_beta_component__WEBPACK_IMPORTED_MODULE_2__.AccessDeniedBetaComponent
235      }, {
236        path: 'access-denied',
237        component: _pages_access_denied_access_denied_component__WEBPACK_IMPORTED_MODULE_3__.AccessDeniedComponent
238      }, {
239        path: 'contact',
240        component: _pages_contact_contact_component__WEBPACK_IMPORTED_MODULE_4__.ContactComponent
241      }, {
242        path: 'faq',
243        component: _pages_faq_faq_component__WEBPACK_IMPORTED_MODULE_5__.FaqComponent
244      }, {
245        path: 'invalid-link',
246        component: _pages_invalid_link_invalid_link_component__WEBPACK_IMPORTED_MODULE_7__.InvalidLinkComponent // canActivate: [ PreventURLAccessGuard ]
247
248      }, {
249        path: 'maintenance',
250        component: _pages_maintenance_maintenance_component__WEBPACK_IMPORTED_MODULE_18__.MaintenanceComponent // canActivate: [ PreventURLAccessGuard ]
251
252      }, {
253        path: 'msg-sent',
254        component: _pages_msg_sent_msg_sent_component__WEBPACK_IMPORTED_MODULE_8__.MsgSentComponent // canActivate: [ PreventURLAccessGuard ],
255
256      }, {
257        path: 'my-virtrolio',
258        component: _pages_my_virtrolio_my_virtrolio_component__WEBPACK_IMPORTED_MODULE_9__.MyVirtrolioComponent,
259        canActivate: [_angular_fire_auth_guard__WEBPACK_IMPORTED_MODULE_21__.AngularFireAuthGuard],
260        data: {
261          authGuardPipe: redirectUnauthorized
262        },
263        resolve: {
264          user: _core_login_resolver__WEBPACK_IMPORTED_MODULE_17__.LoginResolver
265        }
266      }, {
267        path: 'privacy-policy',
268        component: _pages_privacy_policy_privacy_policy_component__WEBPACK_IMPORTED_MODULE_11__.PrivacyPolicyComponent
269      }, {
270        path: 'rejecc',
271        component: _pages_rejecc_rejecc_component__WEBPACK_IMPORTED_MODULE_19__.RejeccComponent // canActivate: [ PreventURLAccessGuard ]
272
273      }, {
274        path: 'settings',
275        component: _pages_settings_settings_component__WEBPACK_IMPORTED_MODULE_12__.SettingsComponent,
276        canActivate: [_angular_fire_auth_guard__WEBPACK_IMPORTED_MODULE_21__.AngularFireAuthGuard],
277        data: {
278          authGuardPipe: redirectUnauthorized
279        },
280        resolve: {
281          user: _core_login_resolver__WEBPACK_IMPORTED_MODULE_17__.LoginResolver
282        }
283      }, {
284        path: 'signing',
285        component: _pages_signing_signing_component__WEBPACK_IMPORTED_MODULE_14__.SigningComponent,
286        canActivate: [_core_signing_guard__WEBPACK_IMPORTED_MODULE_20__.SigningGuard],
287        resolve: {
288          user: _core_login_resolver__WEBPACK_IMPORTED_MODULE_17__.LoginResolver
289        },
290        canDeactivate: [_core_pending_changes_guard__WEBPACK_IMPORTED_MODULE_0__.PendingChangesGuard]
291      }, {
292        path: 'signing-auth-redirect',
293        component: _pages_signing_auth_redirect_signing_auth_redirect_component__WEBPACK_IMPORTED_MODULE_13__.SigningAuthRedirectComponent // canActivate: [ PreventURLAccessGuard ]
294
295      }, {
296        path: 'terms-of-service',
297        component: _pages_terms_of_service_terms_of_service_component__WEBPACK_IMPORTED_MODULE_15__.TermsOfServiceComponent
298      }, {
299        path: 'viewing',
300        component: _pages_viewing_viewing_component__WEBPACK_IMPORTED_MODULE_16__.ViewingComponent,
301        canActivate: [_angular_fire_auth_guard__WEBPACK_IMPORTED_MODULE_21__.AngularFireAuthGuard],
302        data: {
303          authGuardPipe: redirectUnauthorized
304        },
305        resolve: {
306          user: _core_login_resolver__WEBPACK_IMPORTED_MODULE_17__.LoginResolver
307        }
308      }, {
309        path: 'page-not-found',
310        component: _pages_page_not_found_page_not_found_component__WEBPACK_IMPORTED_MODULE_10__.PageNotFoundComponent
311      }, {
312        path: '**',
313        pathMatch: 'full',
314        redirectTo: '/page-not-found'
315      }];
316
317      var _AppRoutingModule = function _AppRoutingModule() {
318        _classCallCheck(this, _AppRoutingModule);
319      };
320
321      _AppRoutingModule.ɵfac = function AppRoutingModule_Factory(t) {
322        return new (t || _AppRoutingModule)();
323      };
324
325      _AppRoutingModule.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_22__["ɵɵdefineNgModule"]({
326        type: _AppRoutingModule
327      });
328      _AppRoutingModule.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_22__["ɵɵdefineInjector"]({
329        imports: [[_angular_router__WEBPACK_IMPORTED_MODULE_23__.RouterModule.forRoot(routes, {
330          scrollPositionRestoration: 'enabled',
331          anchorScrolling: 'enabled',
332          onSameUrlNavigation: 'reload',
333          relativeLinkResolution: 'legacy'
334        })], _angular_router__WEBPACK_IMPORTED_MODULE_23__.RouterModule]
335      });
336
337      (function () {
338        (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_22__["ɵɵsetNgModuleScope"](_AppRoutingModule, {
339          imports: [_angular_router__WEBPACK_IMPORTED_MODULE_23__.RouterModule],
340          exports: [_angular_router__WEBPACK_IMPORTED_MODULE_23__.RouterModule]
341        });
342      })();
343      /***/
344
345    },
346
347    /***/
348    55041:
349    /*!**********************************!*\
350      !*** ./src/app/app.component.ts ***!
351      \**********************************/
352
353    /***/
354    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
355      "use strict";
356
357      __webpack_require__.r(__webpack_exports__);
358      /* harmony export */
359
360
361      __webpack_require__.d(__webpack_exports__, {
362        /* harmony export */
363        "AppComponent": function AppComponent() {
364          return (
365            /* binding */
366            _AppComponent
367          );
368        }
369        /* harmony export */
370
371      });
372      /* harmony import */
373
374
375      var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
376      /*! @angular/core */
377      37716);
378      /* harmony import */
379
380
381      var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
382      /*! ngx-cookie-service */
383      31584);
384
385      function AppComponent_div_5_Template(rf, ctx) {
386        if (rf & 1) {
387          var _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetCurrentView"]();
388
389          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 4);
390
391          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div");
392
393          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](2, " Virtrolio uses cookies to enhance the user experience. By continuing to use our website, you consent to our use of cookies. See our ");
394
395          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](3, "a", 5);
396
397          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](4, "Terms of Service");
398
399          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
400
401          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](5, " for more information. ");
402
403          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
404
405          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](6, "button", 6);
406
407          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("click", function AppComponent_div_5_Template_button_click_6_listener() {
408            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵrestoreView"](_r2);
409
410            var ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"]();
411
412            return ctx_r1.cookieService.set("new-user-cookie", "false", 365);
413          });
414
415          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "span", 7);
416
417          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, "\xD7");
418
419          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
420
421          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
422
423          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
424        }
425      }
426      /**
427       * Controls 'new user' cookie, displaying an alert if their browser hasn't visited the site before.
428       */
429
430
431      var _AppComponent = /*#__PURE__*/function () {
432        function _AppComponent(cookieService) {
433          _classCallCheck(this, _AppComponent);
434
435          this.cookieService = cookieService;
436          this.title = 'virtrolio-site';
437        }
438
439        _createClass(_AppComponent, [{
440          key: "ngOnInit",
441          value: function ngOnInit() {
442            // Generate new-user-cookie if it does not exist
443            if (this.cookieService.check('new-user-cookie') === false) {
444              this.cookieService.set('new-user-cookie', 'true', 365);
445            }
446          }
447        }]);
448
449        return _AppComponent;
450      }();
451
452      _AppComponent.BETA = false;
453
454      _AppComponent.ɵfac = function AppComponent_Factory(t) {
455        return new (t || _AppComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](ngx_cookie_service__WEBPACK_IMPORTED_MODULE_1__.CookieService));
456      };
457
458      _AppComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({
459        type: _AppComponent,
460        selectors: [["app-root"]],
461        decls: 7,
462        vars: 1,
463        consts: [["id", "navbar-filler"], ["id", "content-wrapper"], [1, "col-12", "justify-content-center"], ["class", "alert alert-primary col-sm-8 align-items-center d-flex", "id", "cookie-alert", "role", "alert", 4, "ngIf"], ["id", "cookie-alert", "role", "alert", 1, "alert", "alert-primary", "col-sm-8", "align-items-center", "d-flex"], ["routerLink", "/terms-of-service"], ["id", "cookie-alert-button", "type", "button", 1, "close", "ml-2", 3, "click"], ["aria-hidden", "true"]],
464        template: function AppComponent_Template(rf, ctx) {
465          if (rf & 1) {
466            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](0, "app-navbar");
467
468            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](1, "div", 0);
469
470            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "div", 1);
471
472            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](3, "router-outlet");
473
474            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
475
476            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 2);
477
478            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplate"](5, AppComponent_div_5_Template, 9, 0, "div", 3);
479
480            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
481
482            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](6, "app-footer");
483          }
484
485          if (rf & 2) {
486            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](5);
487
488            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("ngIf", ctx.cookieService.get("new-user-cookie") == "true");
489          }
490        },
491        styles: ["#navbar-filler[_ngcontent-%COMP%] {\n  \n  height: var(--navbar-height);\n}\n\n#cookie-alert[_ngcontent-%COMP%] {\n  position: fixed;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  bottom: 1em;\n  z-index: 2000;\n}\n\n#cookie-alert-button[_ngcontent-%COMP%] {\n  padding-bottom: 0.15em;\n}\n\n#content-wrapper[_ngcontent-%COMP%] {\n  \n  min-height: calc(100vh - var(--footer-height) - var(--navbar-height));\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsNERBQTREO0VBQzVELDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLGVBQWU7RUFDZixTQUFTO0VBQ1QsZ0NBQWdDO0VBQ2hDLFdBQVc7RUFDWCxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxvRUFBb0U7RUFDcEUscUVBQXFFO0FBQ3ZFIiwiZmlsZSI6ImFwcC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI25hdmJhci1maWxsZXIge1xuICAvKiBUcmFuc3B
491hcmVudCBkaXYgdG8gcHVzaCByb3V0ZXItb3V0bGV0IGNvbnRlbnQgZG93bndhcmRzICovXG4gIGhlaWdodDogdmFyKC0tbmF2YmFyLWhlaWdodCk7XG59XG5cbiNjb29raWUtYWxlcnQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGJvdHRvbTogMWVtO1xuICB6LWluZGV4OiAyMDAwO1xufVxuXG4jY29va2llLWFsZXJ0LWJ1dHRvbiB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjE1ZW07XG59XG5cbiNjb250ZW50LXdyYXBwZXIge1xuICAvKiBQcmV2ZW50cyBmb290ZXIgY29sbGFwc2UgdG8gdG9wIG9mIHNjcmVlbiB3aGlsZSBjb21wb25lbnQgbG9hZHMgKi9cbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWZvb3Rlci1oZWlnaHQpIC0gdmFyKC0tbmF2YmFyLWhlaWdodCkpO1xufVxuIl19 */"]
492      });
493      /***/
494    },
495
496    /***/
497    36747:
498    /*!*******************************!*\
499      !*** ./src/app/app.module.ts ***!
500      \*******************************/
501
502    /***/
503    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
504      "use strict";
505
506      __webpack_require__.r(__webpack_exports__);
507      /* harmony export */
508
509
510      __webpack_require__.d(__webpack_exports__, {
511        /* harmony export */
512        "AppModule": function AppModule() {
513          return (
514            /* binding */
515            _AppModule
516          );
517        }
518        /* harmony export */
519
520      });
521      /* harmony import */
522
523
524      var _angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(
525      /*! @angular/platform-browser/animations */
526      75835);
527      /* harmony import */
528
529
530      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(
531      /*! @angular/platform-browser */
532      39075);
533      /* harmony import */
534
535
536      var _angular_common__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(
537      /*! @angular/common */
538      38583);
539      /* harmony import */
540
541
542      var _angular_forms__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(
543      /*! @angular/forms */
544      3679);
545      /* harmony import */
546
547
548      var _angular_fire__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(
549      /*! @angular/fire */
550      50057);
551      /* harmony import */
552
553
554      var _angular_fire_analytics__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(
555      /*! @angular/fire/analytics */
556      71037);
557      /* harmony import */
558
559
560      var _angular_fire_firestore__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(
561      /*! @angular/fire/firestore */
562      56717);
563      /* harmony import */
564
565
566      var _angular_fire_auth__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(
567      /*! @angular/fire/auth */
568      49743);
569      /* harmony import */
570
571
572      var _angular_fire_storage__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(
573      /*! @angular/fire/storage */
574      68274);
575      /* harmony import */
576
577
578      var _environments_environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
579      /*! ../environments/environment */
580      92340);
581      /* harmony import */
582
583
584      var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(
585      /*! ngx-cookie-service */
586      31584);
587      /* harmony import */
588
589
590      var ngx_markdown__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(
591      /*! ngx-markdown */
592      76715);
593      /* harmony import */
594
595
596      var ngx_toastr__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(
597      /*! ngx-toastr */
598      49344);
599      /* harmony import */
600
601
602      var _app_routing_module__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
603      /*! ./app-routing.module */
604      90158);
605      /* harmony import */
606
607
608      var _app_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
609      /*! ./app.component */
610      55041);
611      /* harmony import */
612
613
614      var _core_core_module__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
615      /*! ./core/core.module */
616      40294);
617      /* harmony import */
618
619
620      var _shared_shared_module__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
621      /*! ./shared/shared.module */
622      44466);
623      /* harmony import */
624
625
626      var _pages_about_about_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
627      /*! ./pages/about/about.component */
628      73794);
629      /* harmony import */
630
631
632      var _pages_access_denied_beta_access_denied_beta_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
633      /*! ./pages/access-denied-beta/access-denied-beta.component */
634      40970);
635      /* harmony import */
636
637
638      var _pages_access_denied_access_denied_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
639      /*! ./pages/access-denied/access-denied.component */
640      91452);
641      /* harmony import */
642
643
644      var _pages_contact_contact_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(
645      /*! ./pages/contact/contact.component */
646      45996);
647      /* harmony import */
648
649
650      var _pages_faq_faq_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(
651      /*! ./pages/faq/faq.component */
652      16459);
653      /* harmony import */
654
655
656      var _pages_home_home_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(
657      /*! ./pages/home/home.component */
658      25245);
659      /* harmony import */
660
661
662      var _pages_viewing_messages_image_footer_image_footer_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(
663      /*! ./pages/viewing/messages/image-footer/image-footer.component */
664      46438);
665      /* harmony import */
666
667
668      var _pages_signing_image_modal_image_modal_component__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(
669      /*! ./pages/signing/image-modal/image-modal.component */
670      16843);
671      /* harmony import */
672
673
674      var _pages_invalid_link_invalid_link_component__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(
675      /*! ./pages/invalid-link/invalid-link.component */
676      84892);
677      /* harmony import */
678
679
680      var _pages_maintenance_maintenance_component__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(
681      /*! ./pages/maintenance/maintenance.component */
682      20479);
683      /* harmony import */
684
685
686      var _pages_viewing_message_modal_message_modal_component__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(
687      /*! ./pages/viewing/message-modal/message-modal.component */
688      1641);
689      /* harmony import */
690
691
692      var _pages_viewing_messages_messages_component__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(
693      /*! ./pages/viewing/messages/messages.component */
694      2360);
695      /* harmony import */
696
697
698      var _pages_msg_sent_msg_sent_component__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(
699      /*! ./pages/msg-sent/msg-sent.component */
700      88198);
701      /* harmony import */
702
703
704      var _pages_my_virtrolio_my_virtrolio_component__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(
705      /*! ./pages/my-virtrolio/my-virtrolio.component */
706      32093);
707      /* harmony import */
708
709
710      var _pages_page_not_found_page_not_found_component__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(
711      /*! ./pages/page-not-found/page-not-found.component */
712      78340);
713      /* harmony import */
714
715
716      var _pages_privacy_policy_privacy_policy_component__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(
717      /*! ./pages/privacy-policy/privacy-policy.component */
718      3654);
719      /* harmony import */
720
721
722      var _pages_rejecc_rejecc_component__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(
723      /*! ./pages/rejecc/rejecc.component */
724      79668);
725      /* harmony import */
726
727
728      var _pages_viewing_responses_list_responses_list_component__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(
729      /*! ./pages/viewing/responses-list/responses-list.component */
730      39161);
731      /* harmony import */
732
733
734      var _pages_settings_settings_component__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(
735      /*! ./pages/settings/settings.component */
736      65814);
737      /* harmony import */
738
739
740      var _pages_signing_auth_redirect_signing_auth_redirect_component__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(
741      /*! ./pages/signing-auth-redirect/signing-auth-redirect.component */
742      83964);
743      /* harmony import */
744
745
746      var _pages_signing_signing_component__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(
747      /*! ./pages/signing/signing.component */
748      63168);
749      /* harmony import */
750
751
752      var _pages_viewing_single_message_single_message_component__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(
753      /*! ./pages/viewing/single-message/single-message.component */
754      60189);
755      /* harmony import */
756
757
758      var _pages_terms_of_service_terms_of_service_component__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(
759      /*! ./pages/terms-of-service/terms-of-service.component */
760      21912);
761      /* harmony import */
762
763
764      var _pages_viewing_viewing_component__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(
765      /*! ./pages/viewing/viewing.component */
766      68106);
767      /* harmony import */
768
769
770      var ngx_bootstrap_alert__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(
771      /*! ngx-bootstrap/alert */
772      33947);
773      /* harmony import */
774
775
776      var _core_login_resolver__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(
777      /*! ./core/login-resolver */
778      55249);
779      /* harmony import */
780
781
782      var ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(
783      /*! ngx-bootstrap/modal */
784      63301);
785      /* harmony import */
786
787
788      var _core_pending_changes_guard__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(
789      /*! ./core/pending-changes.guard */
790      88989);
791      /* harmony import */
792
793
794      var _pages_signing_error_alert_error_alert_component__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(
795      /*! ./pages/signing/error-alert/error-alert.component */
796      27286);
797      /* harmony import */
798
799
800      var ngx_bootstrap_tooltip__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(
801      /*! ngx-bootstrap/tooltip */
802      25575);
803      /* harmony import */
804
805
806      var _angular_core__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(
807      /*! @angular/core */
808      37716);
809      /* harmony import */
810
811
812      var _core_navbar_navbar_component__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(
813      /*! ./core/navbar/navbar.component */
814      1239);
815      /* harmony import */
816
817
818      var _angular_router__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(
819      /*! @angular/router */
820      39895);
821      /* harmony import */
822
823
824      var _core_footer_footer_component__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(
825      /*! ./core/footer/footer.component */
826      91229); // Angular
827      // Firebase
828      // External Libraries
829      // App
830      // Pages
831      // Services
832
833
834      var _AppModule = function _AppModule() {
835        _classCallCheck(this, _AppModule);
836      };
837
838      _AppModule.ɵfac = function AppModule_Factory(t) {
839        return new (t || _AppModule)();
840      };
841
842      _AppModule.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_37__["ɵɵdefineNgModule"]({
843        type: _AppModule,
844        bootstrap: [_app_component__WEBPACK_IMPORTED_MODULE_2__.AppComponent]
845      });
846      _AppModule.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_37__["ɵɵdefineInjector"]({
847        providers: [ngx_cookie_service__WEBPACK_IMPORTED_MODULE_38__.CookieService, _core_login_resolver__WEBPACK_IMPORTED_MODULE_30__.LoginResolver, _core_pending_changes_guard__WEBPACK_IMPORTED_MODULE_32__.PendingChangesGuard],
848        imports: [[ngx_bootstrap_alert__WEBPACK_IMPORTED_MODULE_29__.AlertModule.forRoot(), _angular_fire_analytics__WEBPACK_IMPORTED_MODULE_39__.AngularFireAnalyticsModule, _angular_fire_auth__WEBPACK_IMPORTED_MODULE_40__.AngularFireAuthModule, _angular_fire__WEBPACK_IMPORTED_MODULE_41__.AngularFireModule.initializeApp(_environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.firebase), _angular_fire_firestore__WEBPACK_IMPORTED_MODULE_42__.AngularFirestoreModule, _angular_fire_storage__WEBPACK_IMPORTED_MODULE_43__.AngularFireStorageModule, _app_routing_module__WEBPACK_IMPORTED_MODULE_1__.AppRoutingModule, _angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_44__.BrowserAnimationsModule, _angular_platform_browser__WEBPACK_IMPORTED_MODULE_45__.BrowserModule, _angular_common__WEBPACK_IMPORTED_MODULE_46__.CommonModule, _core_core_module__WEBPACK_IMPORTED_MODULE_3__.CoreModule, _angular_forms__WEBPACK_IMPORTED_MODULE_47__.FormsModule, ngx_markdown__WEBPACK_IMPORTED_MODULE_48__.MarkdownModule.forRoot({
849          // set various markdown options
850          markedOptions: {
851            provide: ngx_markdown__WEBPACK_IMPORTED_MODULE_48__.MarkedOptions,
852            useValue: {
853              // makes having 2 newlines for a line break unnecessary
854              breaks: true
855            }
856          }
857        }), ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_31__.ModalModule.forRoot(), _shared_shared_module__WEBPACK_IMPORTED_MODULE_4__.SharedModule, ngx_toastr__WEBPACK_IMPORTED_MODULE_49__.ToastrModule.forRoot(), ngx_bootstrap_tooltip__WEBPACK_IMPORTED_MODULE_34__.TooltipModule]]
858      });
859
860      (function () {
861        (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_37__["ɵɵsetNgModuleScope"](_AppModule, {
862          declarations: [_pages_access_denied_beta_access_denied_beta_component__WEBPACK_IMPORTED_MODULE_6__.AccessDeniedBetaComponent, _pages_access_denied_access_denied_component__WEBPACK_IMPORTED_MODULE_7__.AccessDeniedComponent, _app_component__WEBPACK_IMPORTED_MODULE_2__.AppComponent, _pages_about_about_component__WEBPACK_IMPORTED_MODULE_5__.AboutComponent, _pages_contact_contact_component__WEBPACK_IMPORTED_MODULE_8__.ContactComponent, _pages_signing_error_alert_error_alert_component__WEBPACK_IMPORTED_MODULE_33__.ErrorAlertComponent, _pages_faq_faq_component__WEBPACK_IMPORTED_MODULE_9__.FaqComponent, _pages_home_home_component__WEBPACK_IMPORTED_MODULE_10__.HomeComponent, _pages_viewing_messages_messages_component__WEBPACK_IMPORTED_MODULE_16__.MessagesComponent, _pages_msg_sent_msg_sent_component__WEBPACK_IMPORTED_MODULE_17__.MsgSentComponent, _pages_my_virtrolio_my_virtrolio_component__WEBPACK_IMPORTED_MODULE_18__.MyVirtrolioComponent, _pages_viewing_messages_image_footer_image_footer_component__WEBPACK_IMPORTED_MODULE_11__.ImageFooterComponent, _pages_signing_image_modal_image_modal_component__WEBPACK_IMPORTED_MODULE_12__.ImageModalComponent, _pages_invalid_link_invalid_link_component__WEBPACK_IMPORTED_MODULE_13__.InvalidLinkComponent, _pages_viewing_message_modal_message_modal_component__WEBPACK_IMPORTED_MODULE_15__.MessageModalComponent, _pages_maintenance_maintenance_component__WEBPACK_IMPORTED_MODULE_14__.MaintenanceComponent, _pages_page_not_found_page_not_found_component__WEBPACK_IMPORTED_MODULE_19__.PageNotFoundComponent, _pages_privacy_policy_privacy_policy_component__WEBPACK_IMPORTED_MODULE_20__.PrivacyPolicyComponent, _pages_rejecc_rejecc_component__WEBPACK_IMPORTED_MODULE_21__.RejeccComponent, _pages_viewing_responses_list_responses_list_component__WEBPACK_IMPORTED_MODULE_22__.ResponsesListComponent, _pages_settings_settings_component__WEBPACK_IMPORTED_MODULE_23__.SettingsComponent, _pages_signing_auth_redirect_signing_auth_redirect_component__WEBPACK_IMPORTED_MODULE_24__.SigningAuthRedirectComponent, _pages_signing_signing_component__WEBPACK_IMPORTED_MODULE_25__.SigningComponent, _pages_viewing_single_message_single_message_component__WEBPACK_IMPORTED_MODULE_26__.SingleMessageComponent, _pages_terms_of_service_terms_of_service_component__WEBPACK_IMPORTED_MODULE_27__.TermsOfServiceComponent, _pages_viewing_viewing_component__WEBPACK_IMPORTED_MODULE_28__.ViewingComponent],
863          imports: [ngx_bootstrap_alert__WEBPACK_IMPORTED_MODULE_29__.AlertModule, _angular_fire_analytics__WEBPACK_IMPORTED_MODULE_39__.AngularFireAnalyticsModule, _angular_fire_auth__WEBPACK_IMPORTED_MODULE_40__.AngularFireAuthModule, _angular_fire__WEBPACK_IMPORTED_MODULE_41__.AngularFireModule, _angular_fire_firestore__WEBPACK_IMPORTED_MODULE_42__.AngularFirestoreModule, _angular_fire_storage__WEBPACK_IMPORTED_MODULE_43__.AngularFireStorageModule, _app_routing_module__WEBPACK_IMPORTED_MODULE_1__.AppRoutingModule, _angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_44__.BrowserAnimationsModule, _angular_platform_browser__WEBPACK_IMPORTED_MODULE_45__.BrowserModule, _angular_common__WEBPACK_IMPORTED_MODULE_46__.CommonModule, _core_core_module__WEBPACK_IMPORTED_MODULE_3__.CoreModule, _angular_forms__WEBPACK_IMPORTED_MODULE_47__.FormsModule, ngx_markdown__WEBPACK_IMPORTED_MODULE_48__.MarkdownModule, ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_31__.ModalModule, _shared_shared_module__WEBPACK_IMPORTED_MODULE_4__.SharedModule, ngx_toastr__WEBPACK_IMPORTED_MODULE_49__.ToastrModule, ngx_bootstrap_tooltip__WEBPACK_IMPORTED_MODULE_34__.TooltipModule]
864        });
865      })();
866
867      _angular_core__WEBPACK_IMPORTED_MODULE_37__["ɵɵsetComponentScope"](_app_component__WEBPACK_IMPORTED_MODULE_2__.AppComponent, [_core_navbar_navbar_component__WEBPACK_IMPORTED_MODULE_35__.NavbarComponent, _angular_router__WEBPACK_IMPORTED_MODULE_50__.RouterOutlet, _angular_common__WEBPACK_IMPORTED_MODULE_46__.NgIf, _angular_router__WEBPACK_IMPORTED_MODULE_50__.RouterLinkWithHref, _core_footer_footer_component__WEBPACK_IMPORTED_MODULE_36__.FooterComponent], []);
868      /***/
869
870    },
871
872    /***/
873    87341:
874    /*!**************************************!*\
875      !*** ./src/app/core/auth.service.ts ***!
876      \**************************************/
877
878    /***/
879    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
880      "use strict";
881
882      __webpack_require__.r(__webpack_exports__);
883      /* harmony export */
884
885
886      __webpack_require__.d(__webpack_exports__, {
887        /* harmony export */
888        "AuthService": function AuthService() {
889          return (
890            /* binding */
891            _AuthService
892          );
893        }
894        /* harmony export */
895
896      });
897      /* harmony import */
898
899
900      var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
901      /*! tslib */
902      64762);
903      /* harmony import */
904
905
906      var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
907      /*! rxjs/operators */
908      15257);
909      /* harmony import */
910
911
912      var _common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
913      /*! ./common.service */
914      80150);
915      /* harmony import */
916
917
918      var firebase_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
919      /*! firebase/app */
920      42329);
921      /* harmony import */
922
923
924      var firebase_auth__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
925      /*! firebase/auth */
926      71952);
927      /* harmony import */
928
929
930      var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
931      /*! @angular/core */
932      37716);
933      /* harmony import */
934
935
936      var _angular_fire_auth__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
937      /*! @angular/fire/auth */
938      49743);
939      /* harmony import */
940
941
942      var _angular_fire_firestore__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
943      /*! @angular/fire/firestore */
944      56717);
945      /* harmony import */
946
947
948      var _angular_router__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(
949      /*! @angular/router */
950      39895);
951      /* harmony import */
952
953
954      var _angular_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(
955      /*! @angular/common */
956      38583);
957      /* harmony import */
958
959
960      var ngx_device_detector__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(
961      /*! ngx-device-detector */
962      1135);
963
964      var auth = firebase_app__WEBPACK_IMPORTED_MODULE_1__["default"].auth;
965
966      var _AuthService = /*#__PURE__*/function () {
967        function _AuthService(afa, afs, router, location, deviceDetectorService) {
968          var _this = this;
969
970          _classCallCheck(this, _AuthService);
971
972          this.afa = afa;
973          this.afs = afs;
974          this.router = router;
975          this.location = location;
976          this.deviceDetectorService = deviceDetectorService;
977          this.afa.user.subscribe(function (user) {
978            return _this.user = user;
979          });
980        }
981        /**
982         * Generates a random string of characters of length AppAuthService.keyLength using the characters in
983         * AppAuthService.keyOptions.
984         */
985
986
987        _createClass(_AuthService, [{
988          key: "getUserData",
989          value:
990          /**
991           * @param uid - Optional - The user ID of the user's data to retrieve. Defaults to the current user.
992           * @returns The Firestore document containing the user's data.
993           */
994          function getUserData() {
995            var uid = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.uid();
996            return (0, tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
997              var userRef;
998              return regeneratorRuntime.wrap(function _callee$(_context) {
999                while (1) {
1000                  switch (_context.prev = _context.next) {
1001                    case 0:
1002                      userRef = this.afs.collection('users').doc(uid);
1003                      _context.next = 3;
1004                      return userRef.valueChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.take)(1)).toPromise()["catch"](function (error) {
1005                        _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
1006                      });
1007
1008                    case 3:
1009                      return _context.abrupt("return", _context.sent);
1010
1011                    case 4:
1012                    case "end":
1013                      return _context.stop();
1014                  }
1015                }
1016              }, _callee, this);
1017            }));
1018          }
1019          /**
1020           * Displays an error using an alert, then logs the user out, and then redirects them to the access-denied page.
1021           * @param error - The error to be displayed
1022           */
1023
1024        }, {
1025          key: "errorLogout",
1026          value: function errorLogout(error) {
1027            var _this2 = this;
1028
1029            _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
1030
1031            return this.afa.signOut().then(function () {
1032              return _this2.router.navigate(['/access-denied']);
1033            })["catch"](function (soError) {
1034              return _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(soError);
1035            });
1036          }
1037          /**
1038           * @returns The current User object.
1039           */
1040
1041        }, {
1042          key: "getUser",
1043          value: function getUser() {
1044            this.throwErrorIfLoggedOut('access your user data');
1045            return this.user;
1046          }
1047          /**
1048           * Logs the user into the website using Firebase Authentication and the specified provider.
1049           * User data creation is handled ONLY for desktop devices.
1050           * Any page calling login **must** call AuthService.redirectLoginUserCreation() in ngOnInit() of the page that it
1051           * redirects to, which is the routeTo param. Otherwise, mobile users will not be able to create a user. Upon login,
1052           * the user will be redirected to a new page as defined in routeTo.
1053           * @param routeTo - The routerLink that the user will be redirected to on a successful login.
1054           * @param queryParams - Optional - Any query params to be passed during navigation after successful navigation.
1055           * @returns A promise evaluating to true if the redirect is successful (only returned on desktop devices).
1056           * @throws Error - If the login fails
1057           */
1058
1059        }, {
1060          key: "login",
1061          value: function login(routeTo, queryParams) {
1062            return (0, tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
1063              var _this3 = this;
1064
1065              var googleAuthProvider, redirectPath;
1066              return regeneratorRuntime.wrap(function _callee2$(_context2) {
1067                while (1) {
1068                  switch (_context2.prev = _context2.next) {
1069                    case 0:
1070                      if (!(typeof routeTo === 'undefined' || !routeTo)) {
1071                        _context2.next = 2;
1072                        break;
1073                      }
1074
1075                      throw new Error('Route was not provided');
1076
1077                    case 2:
1078                      // Prepare sign-in provider(s)
1079                      googleAuthProvider = new auth.GoogleAuthProvider(); // Check device type
1080
1081                      if (!this.deviceDetectorService.isDesktop()) {
1082                        _context2.next = 7;
1083                        break;
1084                      }
1085
1086                      return _context2.abrupt("return", this.afa.signInWithPopup(new auth.GoogleAuthProvider()).then(function (userCredentials) {
1087                        if (userCredentials.user) {
1088                          // If user is not null
1089                          return _this3.createUser(userCredentials.user).then(function () {
1090                            return _this3.router.navigate([routeTo], {
1091                              queryParams: queryParams
1092                            });
1093                          });
1094                        } else {
1095                          return _this3.errorLogout('Null User Credentials on login: ' + userCredentials);
1096                        }
1097                      })["catch"](function (error) {
1098                        _this3.errorLogout(error);
1099                      }));
1100
1101                    case 7:
1102                      // Device is phone/tablet, so use sign-in with redirect
1103                      redirectPath = _AuthService.parseQueryParams(routeTo, queryParams);
1104                      this.location.go(redirectPath); // Sign-in with Redirect is necessary to support popup browsers which do not have support for multiple tabs)
1105
1106                      return _context2.abrupt("return", this.afa.signInWithRedirect(googleAuthProvider)["catch"](function (error) {
1107                        _this3.errorLogout(error);
1108                      }));
1109
1110                    case 10:
1111                    case "end":
1112                      return _context2.stop();
1113                  }
1114                }
1115              }, _callee2, this);
1116            }));
1117          }
1118          /**
1119           * Logs the user out of the website using Firebase Authentication.
1120           * Upon successful logout, the user will be redirected to the home page.
1121           * @returns A promise evaluating to true if the redirect is successful.
1122           * @throws Error - If the logout fails
1123           */
1124
1125        }, {
1126          key: "logout",
1127          value: function logout() {
1128            var _this4 = this;
1129
1130            return this.afa.signOut().then(function () {
1131              return _this4.router.navigate(['/']);
1132            })["catch"](function (error) {
1133              _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
1134
1135              return _this4.router.navigate(['/']);
1136            });
1137          }
1138          /**
1139           * Creates a new VirtrolioUser document in the 'users' collection of the database only if the document for the
1140           * currently logged in user doesn't exist.
1141           * @param user: The user object returned by the Firebase Authentication login process.
1142           * @throws ReferenceError - If the Firestore documents for the user or list of beta tester
1142s is missing
1143           * @throws Error - If a write to Firestore fails
1144           */
1145
1146        }, {
1147          key: "createUser",
1148          value: function createUser(user) {
1149            return (0, tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
1150              var userRef, userDoc, userData;
1151              return regeneratorRuntime.wrap(function _callee3$(_context3) {
1152                while (1) {
1153                  switch (_context3.prev = _context3.next) {
1154                    case 0:
1155                      // Not using this.getUserData() because userRef is required
1156                      userRef = this.afs.collection('users').doc(user.uid);
1157                      _context3.next = 3;
1158                      return userRef.valueChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.take)(1)).toPromise()["catch"](function (error) {
1159                        throw new Error('User Creation Error:' + error);
1160                      });
1161
1162                    case 3:
1163                      userDoc = _context3.sent;
1164
1165                      if (userDoc) {
1166                        _context3.next = 10;
1167                        break;
1168                      }
1169
1170                      // User doesn't exist in database
1171                      userData = {
1172                        displayName: user.displayName,
1173                        key: _AuthService.generateKey(),
1174                        profilePic: user.photoURL
1175                      };
1176                      _context3.next = 8;
1177                      return userRef.set(userData)["catch"](function (error) {
1178                        throw new Error('User Creation Error:' + error);
1179                      });
1180
1181                    case 8:
1182                      _context3.next = 19;
1183                      break;
1184
1185                    case 10:
1186                      if ('key' in userDoc) {
1187                        _context3.next = 13;
1188                        break;
1189                      }
1190
1191                      _context3.next = 13;
1192                      return userRef.update({
1193                        key: _AuthService.generateKey()
1194                      })["catch"](function (error) {
1195                        throw new Error('User Creation Error:' + error);
1196                      });
1197
1198                    case 13:
1199                      if ('displayName' in userDoc) {
1200                        _context3.next = 16;
1201                        break;
1202                      }
1203
1204                      _context3.next = 16;
1205                      return userRef.update({
1206                        displayName: user.displayName
1207                      })["catch"](function (error) {
1208                        throw new Error('User Creation Error:' + error);
1209                      });
1210
1211                    case 16:
1212                      if ('profilePic' in userDoc) {
1213                        _context3.next = 19;
1214                        break;
1215                      }
1216
1217                      _context3.next = 19;
1218                      return userRef.update({
1219                        profilePic: user.photoURL
1220                      })["catch"](function (error) {
1221                        throw new Error('User Creation Error:' + error);
1222                      });
1223
1224                    case 19:
1225                    case "end":
1226                      return _context3.stop();
1227                  }
1228                }
1229              }, _callee3, this);
1230            }));
1231          }
1232          /**
1233           * Handles the user creation if the user was signed in using signInWithRedirect() (called on mobile devices) instead
1234           * of signInWithPopup(). Should be called on any page that could potentially be a page that the user is redirected to
1235           * after calling AuthService.login(). User creation for devices using signInWithPopup() (desktops) is handled in
1236           * AuthService.login().
1237           */
1238
1239        }, {
1240          key: "redirectLoginUserCreation",
1241          value: function redirectLoginUserCreation() {
1242            return (0, tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
1243              var _this5 = this;
1244
1245              var userCredentials;
1246              return regeneratorRuntime.wrap(function _callee4$(_context4) {
1247                while (1) {
1248                  switch (_context4.prev = _context4.next) {
1249                    case 0:
1250                      _context4.next = 2;
1251                      return this.afa.getRedirectResult();
1252
1253                    case 2:
1254                      userCredentials = _context4.sent;
1255
1256                      if (!userCredentials.user) {
1257                        _context4.next = 6;
1258                        break;
1259                      }
1260
1261                      _context4.next = 6;
1262                      return this.createUser(userCredentials.user)["catch"](function (error) {
1263                        return _this5.errorLogout(error);
1264                      });
1265
1266                    case 6:
1267                    case "end":
1268                      return _context4.stop();
1269                  }
1270                }
1271              }, _callee4, this);
1272            }));
1273          }
1274          /**
1275           * Should not be used on pages/guards that are not protected by the LoginResolver.
1276           * If async functionality is required, use asyncIsLoggedIn() instead.
1277           * @returns True if the user is logged in.
1278           */
1279
1280        }, {
1281          key: "isLoggedIn",
1282          value: function isLoggedIn() {
1283            return this.user != null;
1284          }
1285          /**
1286           * Identical to isLoggedIn(), except using a promise. Allows the caller to utilize .then() or await.
1287           * If the usage of .then() or await by the caller is not required, isLoggedIn() should be used instead.
1288           * @returns a Promise evaluating to True if the user is logged in.
1289           */
1290
1291        }, {
1292          key: "asyncIsLoggedIn",
1293          value: function asyncIsLoggedIn() {
1294            return (0, tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
1295              var user;
1296              return regeneratorRuntime.wrap(function _callee5$(_context5) {
1297                while (1) {
1298                  switch (_context5.prev = _context5.next) {
1299                    case 0:
1300                      _context5.next = 2;
1301                      return this.afa.user.pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.take)(1)).toPromise();
1302
1303                    case 2:
1304                      user = _context5.sent;
1305                      return _context5.abrupt("return", !!user);
1306
1307                    case 4:
1308                    case "end":
1309                      return _context5.stop();
1310                  }
1311                }
1312              }, _callee5, this);
1313            }));
1314          }
1315          /**
1316           * Throws a ReferenceError if the user is logged out instead of returning false (that's isLoggedIn()).
1317           * Does nothing if the user is logged in.
1318           * The Error is designed in such a way that the error message can be displayed to the user using a Modal or an Alert.
1319           * @param attemptedOperation - The operation that is not permitted if the user is logged out, such as 'send a
1320           *   message'. Should be in present tense and be in user-friendly language.
1321           * @throws ReferenceError - If the user is not logged in
1322           */
1323
1324        }, {
1325          key: "asyncThrowErrorIfLoggedOut",
1326          value: function asyncThrowErrorIfLoggedOut(attemptedOperation) {
1327            return (0, tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
1328              return regeneratorRuntime.wrap(function _callee6$(_context6) {
1329                while (1) {
1330                  switch (_context6.prev = _context6.next) {
1331                    case 0:
1332                      _context6.next = 2;
1333                      return this.asyncIsLoggedIn();
1334
1335                    case 2:
1336                      if (_context6.sent) {
1337                        _context6.next = 4;
1338                        break;
1339                      }
1340
1341                      throw new ReferenceError('Cannot ' + attemptedOperation + ' because you are not logged in.');
1342
1343                    case 4:
1344                    case "end":
1345                      return _context6.stop();
1346                  }
1347                }
1348              }, _callee6, this);
1349            }));
1350          }
1351          /**
1352           * Throws a ReferenceError if the user is logged out instead of returning false (that's isLoggedIn()).
1353           * Does nothing if the user is logged in.
1354           * The Error is designed in such a way that the error message can be displayed to the user using a Modal or an Alert.
1355           * @param attemptedOperation - The operation that is not permitted if the user is logged out, such as 'send a
1356           *   message'. Should be in present tense and be in user-friendly language.
1357           * @throws ReferenceError - If the user is not logged in
1358           */
1359
1360        }, {
1361          key: "throwErrorIfLoggedOut",
1362          value: function throwErrorIfLoggedOut(attemptedOperation) {
1363            if (!this.isLoggedIn()) {
1364              throw new ReferenceError('Cannot ' + attemptedOperation + ' because you are not logged in.');
1365            }
1366          }
1367          /**
1368           * @param uid - The uid to get the profile picture of. Defaults to the current user if not provided.
1369           * @returns The URL to the user's profile picture.
1370           * @throws ReferenceError - If the user is not logged in or doesn't exist
1371           */
1372
1373        }, {
1374          key: "profilePictureLink",
1375          value: function profilePictureLink() {
1376            var uid = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.uid();
1377            return (0, tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {
1378              var userDoc;
1379              return regeneratorRuntime.wrap(function _callee7$(_context7) {
1380                while (1) {
1381                  switch (_context7.prev = _context7.next) {
1382                    case 0:
1383                      _context7.next = 2;
1384                      return this.asyncThrowErrorIfLoggedOut('get your profile picture');
1385
1386                    case 2:
1387                      if (!(uid === this.uid())) {
1388                        _context7.next = 6;
1389                        break;
1390                      }
1391
1392                      return _context7.abrupt("return", this.user.photoURL);
1393
1394                    case 6:
1395                      _context7.next = 8;
1396                      return this.getUserData(uid);
1397
1398                    case 8:
1399                      userDoc = _context7.sent;
1400
1401                      if (!userDoc) {
1402                        _context7.next = 13;
1403                        break;
1404                      }
1405
1406                      return _context7.abrupt("return", userDoc.profilePic);
1407
1408                    case 13:
1409                      throw new ReferenceError("User document doesn't exist");
1410
1411                    case 14:
1412                    case "end":
1413                      return _context7.stop();
1414                  }
1415                }
1416              }, _callee7, this);
1417            }));
1418          }
1419          /**
1420           * Same as profilePictureLink, except not async to avoid the navbar trying to load the picture before the async call
1421           * completes. This method should <u>**NOT**</u> be called by anything except the navbar. Use profilePictureLink()
1422           * instead.
1423           * @returns The URL to the user's profile picture.
1424           * @throws ReferenceError - If the user is not logged in
1425           */
1426
1427        }, {
1428          key: "notAsyncProfilePictureLink",
1429          value: function notAsyncProfilePictureLink() {
1430            return this.user.photoURL;
1431          }
1432          /**
1433           * @param uid - The uid to get the display name of. Defaults to the current user if not provided.
1434           * @returns The Display Name of the user as defined in the account that they use to sign in.
1435           * @throws ReferenceError - If the user is not logged in or doesn't exist
1436           */
1437
1438        }, {
1439          key: "displayName",
1440          value: function displayName() {
1441            var uid = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.uid();
1442            return (0, tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {
1443              var userDoc;
1444              return regeneratorRuntime.wrap(function _callee8$(_context8) {
1445                while (1) {
1446                  switch (_context8.prev = _context8.next) {
1447                    case 0:
1448                      _context8.next = 2;
1449                      return this.asyncThrowErrorIfLoggedOut('get your name');
1450
1451                    case 2:
1452                      if (!(uid === this.uid())) {
1453                        _context8.next = 6;
1454                        break;
1455                      }
1456
1457                      return _context8.abrupt("return", this.user.displayName);
1458
1459                    case 6:
1460                      _context8.next = 8;
1461                      return this.getUserData(uid);
1462
1463                    case 8:
1464                      userDoc = _context8.sent;
1465
1466                      if (!userDoc) {
1467                        _context8.next = 13;
1468                        break;
1469                      }
1470
1471                      return _context8.abrupt("return", userDoc.displayName);
1472
1473                    case 13:
1474                      throw new ReferenceError("User document doesn't exist");
1475
1476                    case 14:
1477                    case "end":
1478                      return _context8.stop();
1479                  }
1480                }
1481              }, _callee8, this);
1482            }));
1483          }
1484          /**
1485           * @returns The user's Firebase Authentication User ID.
1486           * @throws ReferenceError - If the user is not logged in
1487           */
1488
1489        }, {
1490          key: "uid",
1491          value: function uid() {
1492            this.throwErrorIfLoggedOut('get your user ID');
1493            return this.user.uid;
1494          }
1495          /**
1496           * Checks if the provided user exists in the Users collection in the database.
1497           * This method should only be called if the user has logged in at least once before.
1498           * @param uid - The UID of the user to check
1499           * @throws Error - If the argument is blank, null or undefined.
1500           */
1501
1502        }, {
1503          key: "userExists",
1504          value: function userExists(uid) {
1505            return (0, tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {
1506              var userRef;
1507              return regeneratorRuntime.wrap(function _callee9$(_context9) {
1508                while (1) {
1509                  switch (_context9.prev = _context9.next) {
1510                    case 0:
1511                      if (!(typeof uid === 'undefined' || !uid)) {
1512                        _context9.next = 2;
1513                        break;
1514                      }
1515
1516                      throw new Error('Argument UID was not provided');
1517
1518                    case 2:
1519                      userRef = this.afs.collection('users').doc(uid);
1520                      return _context9.abrupt("return", userRef.snapshotChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.take)(1)).toPromise().then(function (userDoc) {
1521                        return userDoc.payload.exists;
1522                      })["catch"](function (error) {
1523                        return alert(error);
1524                      }));
1525
1526                    case 4:
1527                    case "end":
1528                      return _context9.stop();
1529                  }
1530                }
1531              }, _callee9, this);
1532            }));
1533          }
1534        }], [{
1535          key: "generateKey",
1536          value: function generateKey() {
1537            var key = '';
1538
1539            for (var i = 0; i < _AuthService.KEY_LENGTH; i++) {
1540              key += _AuthService.KEY_OPTIONS.charAt(Math.floor(Math.random() *
1540 _AuthService.KEY_OPTIONS.length));
1541            }
1542
1543            return key;
1544          }
1545          /**
1546           * Combines the desired routerLink and queryParams into one string, adding all necessary ?, = and &.
1547           * Used to create a path param for this.location.go().
1548           * @param path - the desired routerLink
1549           * @param queryParams - all query params to be added onto the routerLink
1550           */
1551
1552        }, {
1553          key: "parseQueryParams",
1554          value: function parseQueryParams(path, queryParams) {
1555            var redirectPath = path;
1556
1557            if (queryParams) {
1558              redirectPath += '?';
1559
1560              for (var param in queryParams) {
1561                if (queryParams.hasOwnProperty(param)) {
1562                  redirectPath += param + '=' + queryParams[param] + '&';
1563                }
1564              } // Remove the extra ampersand at the end
1565
1566
1567              return redirectPath.slice(0, -1);
1568            } else {
1569              return path;
1570            }
1571          }
1572        }]);
1573
1574        return _AuthService;
1575      }();
1576
1577      _AuthService.KEY_LENGTH = 7;
1578      _AuthService.KEY_OPTIONS = 'qwertyuipasdfghjkzxcvbnmQWERTYUPASDFGHJKLZXCVBNM123456789';
1579
1580      _AuthService.ɵfac = function AuthService_Factory(t) {
1581        return new (t || _AuthService)(_angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](_angular_fire_auth__WEBPACK_IMPORTED_MODULE_6__.AngularFireAuth), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](_angular_fire_firestore__WEBPACK_IMPORTED_MODULE_7__.AngularFirestore), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](_angular_router__WEBPACK_IMPORTED_MODULE_8__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](_angular_common__WEBPACK_IMPORTED_MODULE_9__.Location), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](ngx_device_detector__WEBPACK_IMPORTED_MODULE_10__.DeviceDetectorService));
1582      };
1583
1584      _AuthService.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdefineInjectable"]({
1585        token: _AuthService,
1586        factory: _AuthService.ɵfac,
1587        providedIn: 'root'
1588      });
1589      /***/
1590    },
1591
1592    /***/
1593    80150:
1594    /*!****************************************!*\
1595      !*** ./src/app/core/common.service.ts ***!
1596      \****************************************/
1597
1598    /***/
1599    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1600      "use strict";
1601
1602      __webpack_require__.r(__webpack_exports__);
1603      /* harmony export */
1604
1605
1606      __webpack_require__.d(__webpack_exports__, {
1607        /* harmony export */
1608        "CommonService": function CommonService() {
1609          return (
1610            /* binding */
1611            _CommonService
1612          );
1613        }
1614        /* harmony export */
1615
1616      });
1617      /* harmony import */
1618
1619
1620      var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
1621      /*! tslib */
1622      64762);
1623      /* harmony import */
1624
1625
1626      var yaml__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
1627      /*! yaml */
1628      53782);
1629      /* harmony import */
1630
1631
1632      var yaml__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(yaml__WEBPACK_IMPORTED_MODULE_0__);
1633      /* harmony import */
1634
1635
1636      var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
1637      /*! @angular/core */
1638      37716);
1639      /* harmony import */
1640
1641
1642      var _angular_common_http__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
1643      /*! @angular/common/http */
1644      91841);
1645
1646      var _CommonService = /*#__PURE__*/function () {
1647        function _CommonService(http) {
1648          _classCallCheck(this, _CommonService);
1649
1650          this.http = http;
1651        }
1652        /**
1653         * Displays an error to the user using an alert and a human-readable prefix.
1654         * @param error - The error to display to the user.
1655         */
1656
1657
1658        _createClass(_CommonService, [{
1659          key: "parseYAMLFromFile",
1660          value: function parseYAMLFromFile(path) {
1661            return (0, tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {
1662              var yamlText;
1663              return regeneratorRuntime.wrap(function _callee10$(_context10) {
1664                while (1) {
1665                  switch (_context10.prev = _context10.next) {
1666                    case 0:
1667                      _context10.next = 2;
1668                      return this.http.get(path, {
1669                        observe: 'body',
1670                        responseType: 'text'
1671                      }).toPromise();
1672
1673                    case 2:
1674                      yamlText = _context10.sent;
1675                      return _context10.abrupt("return", yaml__WEBPACK_IMPORTED_MODULE_0___default().parse(yamlText));
1676
1677                    case 4:
1678                    case "end":
1679                      return _context10.stop();
1680                  }
1681                }
1682              }, _callee10, this);
1683            }));
1684          }
1685        }], [{
1686          key: "displayError",
1687          value: function displayError(error) {
1688            alert("An error occurred. Here are the details that you can report to our team through the 'Contact Us' page:\n" + error);
1689          }
1690        }]);
1691
1692        return _CommonService;
1693      }();
1694
1695      _CommonService.CURRENT_YEAR = new Date().getFullYear();
1696
1697      _CommonService.ɵfac = function CommonService_Factory(t) {
1698        return new (t || _CommonService)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵinject"](_angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpClient));
1699      };
1700
1701      _CommonService.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineInjectable"]({
1702        token: _CommonService,
1703        factory: _CommonService.ɵfac,
1704        providedIn: 'root'
1705      });
1706      /***/
1707    },
1708
1709    /***/
1710    40294:
1711    /*!*************************************!*\
1712      !*** ./src/app/core/core.module.ts ***!
1713      \*************************************/
1714
1715    /***/
1716    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1717      "use strict";
1718
1719      __webpack_require__.r(__webpack_exports__);
1720      /* harmony export */
1721
1722
1723      __webpack_require__.d(__webpack_exports__, {
1724        /* harmony export */
1725        "CoreModule": function CoreModule() {
1726          return (
1727            /* binding */
1728            _CoreModule
1729          );
1730        }
1731        /* harmony export */
1732
1733      });
1734      /* harmony import */
1735
1736
1737      var _navbar_navbar_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
1738      /*! ./navbar/navbar.component */
1739      1239);
1740      /* harmony import */
1741
1742
1743      var _footer_footer_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
1744      /*! ./footer/footer.component */
1745      91229);
1746      /* harmony import */
1747
1748
1749      var _angular_router__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
1750      /*! @angular/router */
1751      39895);
1752      /* harmony import */
1753
1754
1755      var _app_routing_module__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
1756      /*! ../app-routing.module */
1757      90158);
1758      /* harmony import */
1759
1760
1761      var _angular_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(
1762      /*! @angular/common */
1763      38583);
1764      /* harmony import */
1765
1766
1767      var _angular_fire__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
1768      /*! @angular/fire */
1769      50057);
1770      /* harmony import */
1771
1772
1773      var _environments_environment_prod__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
1774      /*! ../../environments/environment.prod */
1775      89019);
1776      /* harmony import */
1777
1778
1779      var _angular_fire_storage__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
1780      /*! @angular/fire/storage */
1781      68274);
1782      /* harmony import */
1783
1784
1785      var _angular_common_http__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(
1786      /*! @angular/common/http */
1787      91841);
1788      /* harmony import */
1789
1790
1791      var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
1792      /*! @angular/core */
1793      37716);
1794
1795      var _CoreModule = function _CoreModule() {
1796        _classCallCheck(this, _CoreModule);
1797      };
1798
1799      _CoreModule.ɵfac = function CoreModule_Factory(t) {
1800        return new (t || _CoreModule)();
1801      };
1802
1803      _CoreModule.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineNgModule"]({
1804        type: _CoreModule
1805      });
1806      _CoreModule.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineInjector"]({
1807        providers: [],
1808        imports: [[_angular_fire__WEBPACK_IMPORTED_MODULE_5__.AngularFireModule.initializeApp(_environments_environment_prod__WEBPACK_IMPORTED_MODULE_3__.environment.firebase), _angular_fire_storage__WEBPACK_IMPORTED_MODULE_6__.AngularFireStorageModule, _angular_router__WEBPACK_IMPORTED_MODULE_7__.RouterModule, _app_routing_module__WEBPACK_IMPORTED_MODULE_2__.AppRoutingModule, _angular_common__WEBPACK_IMPORTED_MODULE_8__.CommonModule, _angular_common_http__WEBPACK_IMPORTED_MODULE_9__.HttpClientModule]]
1809      });
1810
1811      (function () {
1812        (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsetNgModuleScope"](_CoreModule, {
1813          declarations: [_navbar_navbar_component__WEBPACK_IMPORTED_MODULE_0__.NavbarComponent, _footer_footer_component__WEBPACK_IMPORTED_MODULE_1__.FooterComponent],
1814          imports: [_angular_fire__WEBPACK_IMPORTED_MODULE_5__.AngularFireModule, _angular_fire_storage__WEBPACK_IMPORTED_MODULE_6__.AngularFireStorageModule, _angular_router__WEBPACK_IMPORTED_MODULE_7__.RouterModule, _app_routing_module__WEBPACK_IMPORTED_MODULE_2__.AppRoutingModule, _angular_common__WEBPACK_IMPORTED_MODULE_8__.CommonModule, _angular_common_http__WEBPACK_IMPORTED_MODULE_9__.HttpClientModule],
1815          exports: [_navbar_navbar_component__WEBPACK_IMPORTED_MODULE_0__.NavbarComponent, _footer_footer_component__WEBPACK_IMPORTED_MODULE_1__.FooterComponent]
1816        });
1817      })();
1818      /***/
1819
1820    },
1821
1822    /***/
1823    87181:
1824    /*!**************************************!*\
1825      !*** ./src/app/core/font.service.ts ***!
1826      \**************************************/
1827
1828    /***/
1829    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1830      "use strict";
1831
1832      __webpack_require__.r(__webpack_exports__);
1833      /* harmony export */
1834
1835
1836      __webpack_require__.d(__webpack_exports__, {
1837        /* harmony export */
1838        "FontService": function FontService() {
1839          return (
1840            /* binding */
1841            _FontService
1842          );
1843        }
1844        /* harmony export */
1845
1846      });
1847      /* harmony import */
1848
1849
1850      var _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
1851      /*! ../shared/interfaces/fonts */
1852      74743);
1853      /* harmony import */
1854
1855
1856      var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
1857      /*! @angular/core */
1858      37716);
1859
1860      var _FontService = function _FontService() {
1861        _classCallCheck(this, _FontService);
1862      }; // Note how you don't have to override the default values if you don't want to
1863
1864
1865      _FontService.Arial = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Arial', 'sans-serif');
1866      _FontService.ComicSansMS = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Comic Sans MS', 'sans-serif');
1867      _FontService.CourierNew = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Courier New', 'monospace');
1868      _FontService.DancingScript = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Dancing Script', 'cursive');
1869      _FontService.Montserrat = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Montserrat', 'sans-serif');
1870      _FontService.Roboto = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Roboto', 'sans-serif');
1871      _FontService.Merriweather = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Merriweather', 'serif');
1872      _FontService.Lobster = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Lobster', 'sans-serif');
1873      _FontService.IndieFlower = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Indie Flower', 'sans-serif');
1874      _FontService.PatrickHand = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Patrick Hand', 'sans-serif');
1875      _FontService.PermanentMarker = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Permanent Marker', 'sans-serif');
1876      _FontService.Sacramento = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Sacramento', 'cursive');
1877      _FontService.SpecialElite = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Special Elite', 'sans-serif');
1878      _FontService.TimesNewRoman = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Times New Roman', 'serif');
1879      _FontService.PoiretOne = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Poiret One', 'sans-serif');
1880      _FontService.PressStart = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Press Start', 'sans-serif');
1881      _FontService.FONTS = {
1882        Arial: _FontService.Arial,
1883        'Comic Sans MS': _FontService.ComicSansMS,
1884        'Courier New': _FontService.CourierNew,
1885        'Dancing Script': _FontService.DancingScript,
1886        'Indie Flower': _FontService.IndieFlower,
1887        Lobster: _FontService.Lobster,
1888        Merriweather: _FontService.Merriweather,
1889        Montserrat: _FontService.Montserrat,
1890        'Patrick Hand': _FontService.PatrickHand,
1891        'Permanent Marker': _FontService.PermanentMarker,
1892        'Poiret One': _FontService.PoiretOne,
1893        'Press Start': _FontService.PressStart,
1894        Roboto: _FontService.Roboto,
1895        Sacramento: _FontService.Sacramento,
1896        'Special Elite': _FontService.SpecialElite,
1897        'Times New Roman': _FontService.TimesNewRoman
1898      };
1899
1900      _FontService.ɵfac = function FontService_Factory(t) {
1901        return new (t || _FontService)();
1902      };
1903
1904      _FontService.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineInjectable"]({
1905        token: _FontService,
1906        factory: _FontService.ɵfac,
1907        providedIn: 'root'
1908      });
1909      /***/
1910    },
1911
1912    /***/
1913    91229:
1914    /*!*************************************************!*\
1915      !*** ./src/app/core/footer/footer.component.ts ***!
1916      \*************************************************/
1917
1918    /***/
1919    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1920      "use strict";
1921
1922      __webpack_require__.r(__webpack_exports__);
1923      /* harmony export */
1924
1925
1926      __webpack_require__.d(__webpack_exports__, {
1927        /* harmony export */
1928        "FooterComponent": function FooterComponent() {
1929          return (
1930            /* binding */
1931            _FooterComponent
1932          );
1933        }
1934        /* harmony export */
1935
1936      });
1937      /* harmony import */
1938
1939
1940      var _common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
1941      /*! ../common.service */
1942      80150);
1943      /* harmony import */
1944
1945
1946      var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
1947      /*! @angular/core */
1948      37716);
1949
1950      var _FooterComponent = /*#__PURE__*/function () {
1951        function _FooterComponent() {
1952          _classCallCheck(this, _FooterComponent);
1953
1954          this.currentYear = _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.CURRENT_YEAR;
1955        }
1956
1957        _createClass(_FooterComponent, [{
1958          key: "ngOnInit",
1959          value: function ngOnInit() {}
1960        }]);
1961
1962        return _FooterComponent;
1963      }();
1964
1965      _FooterComponent.ɵfac = function FooterComponent_Factory(t) {
1966        return new (t || _FooterComponent)();
1967      };
1968
1969      _FooterComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({
1970        type: _FooterComponent,
1971        selectors: [["app-footer"]],
1972        decls: 15,
1973        vars: 1,
1974        consts: [["id", "footer", 1, "vertical-center", "align-items-center"], ["href", "https://www.facebook.com/virtrolio/", "target", "_blank", 1, "m-4"], ["src", "../../../assets/images/icons/facebook.svg", "alt", "Our Facebook", 1, "social-icon"], ["href", "https://www.instagram.com/virtrolio/", "target", "_blank", 1, "m-4"], ["src", "../../../assets/images/icons/instagram.svg", "alt", "Our Instagram", 1, "social-icon"], ["href", "mailto:[email protected]", "target", "_blank", 1, "m-4"], ["src", "../../../assets/images/icons/mail.svg", "alt", "Our Email", 1, "social-icon"], ["id", "legal"], ["href", "/terms-of-service"], ["href", "/privacy-policy"]],
1975        template: function FooterComponent_Template(rf, ctx) {
1976          if (rf & 1) {
1977            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "footer", 0);
1978
1979            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "div");
1980
1981            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "a", 1);
1982
1983            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](3, "img", 2);
1984
1985            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
1986
1987            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](4, "a", 3);
1988
1989            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](5, "img", 4);
1990
1991            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
1992
1993            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](6, "a", 5);
1994
1995            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](7, "img", 6);
1996
1997            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
1998
1999            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2000
2001            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](8, "div", 7);
2002
2003            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](9, "a", 8);
2004
2005            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](10, "Terms of Service");
2006
2007            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2008
2009            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](11, " | ");
2010
2011            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](12, "a", 9);
2012
2013            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](13, "Privacy Policy");
2014
2015            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2016
2017            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](14);
2018
2019            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2020
2021            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2022          }
2023
2024          if (rf & 2) {
2025            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](14);
2026
2027            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"](" | \xA9 Virtrolio 2020-", ctx.currentYear, " ");
2028          }
2029        },
2030        styles: ["footer[_ngcontent-%COMP%] {\n  left: 0;\n  bottom: 0;\n  margin-bottom: 0;\n  width: 100%;\n  background-color: var(--darkest-accent);\n  color: white;\n  position: relative;\n  height: var(--footer-height);\n  display: flex;\n  flex-direction: column;\n  z-index: 1000;\n}\n\nfooter[_ngcontent-%COMP%]    > *[_ngcontent-%COMP%] {\n  margin: 0.3em 0;\n}\n\n#legal[_ngcontent-%COMP%] {\n  text-align: center;\n  font-size: 0.8em;\n}\n\na[_ngcontent-%COMP%] {\n  color: white;\n}\n\n.social-icon[_ngcontent-%COMP%] {\n  height: 2em;\n  width: 2em;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvb3Rlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsT0FBTztFQUNQLFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsV0FBVztFQUNYLHVDQUF1QztFQUN2QyxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLDRCQUE0QjtFQUM1QixhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLGFBQWE7QUFDZjs7QUFFQTtFQUNFLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsV0FBVztFQUNYLFVBQVU7QUFDWiIsImZpbGUiOiJmb290ZXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbImZvb3RlciB7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcmtlc3QtYWNjZW50KTtcbiAgY29sb3I6IHdoaXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogdmFyKC0tZm9vdGVyLWhlaWdodCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHotaW5kZXg6IDEwMDA7XG59XG5cbmZvb3RlciA+ICoge1xuICBtYXJnaW46IDAuM2VtIDA7XG59XG5cbiNsZWdhbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjhlbTtcbn1cblxuYSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnNvY2lhbC1pY29uIHtcbiAgaGVpZ2h0OiAyZW07XG4gIHdpZHRoOiAyZW07XG59XG4iXX0= */"]
2031      });
2032      /***/
2033    },
2034
2035    /***/
2036    55249:
2037    /*!****************************************!*\
2038      !*** ./src/app/core/login-resolver.ts ***!
2039      \****************************************/
2040
2041    /***/
2042    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2043      "use strict";
2044
2045      __webpack_require__.r(__webpack_exports__);
2046      /* harmony export */
2047
2048
2049      __webpack_require__.d(__webpack_exports__, {
2050        /* harmony export */
2051        "LoginResolver": function LoginResolver() {
2052          return (
2053            /* binding */
2054            _LoginResolver
2055          );
2056        }
2057        /* harmony export */
2058
2059      });
2060      /* harmony import */
2061
2062
2063      var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
2064      /*! rxjs/operators */
2065      15257);
2066      /* harmony import */
2067
2068
2069      var firebase_auth__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
2070      /*! firebase/auth */
2071      71952);
2072      /* harmony import */
2073
2074
2075      var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
2076      /*! @angular/core */
2077      37716);
2078      /* harmony import */
2079
2080
2081      var _angular_fire_auth__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
2082      /*! @angular/fire/auth */
2083      49743);
2084
2085      var _LoginResolver = /*#__PURE__*/function () {
2086        function _LoginResolver(angularFireAuth) {
2087          _classCallCheck(this, _LoginResolver);
2088
2089          this.angularFireAuth = angularFireAuth;
2090        } // noinspection JSUnusedLocalSymbols
2091
2092
2093        _createClass(_LoginResolver, [{
2094          key: "resolve",
2095          value: function resolve(route, state) {
2096            return this.angularFireAuth.user.pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_1__.take)(1));
2097          }
2098        }]);
2099
2100        return _LoginResolver;
2101      }();
2102
2103      _LoginResolver.ɵfac = function LoginResolver_Factory(t) {
2104        return new (t || _LoginResolver)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵinject"](_angular_fire_auth__WEBPACK_IMPORTED_MODULE_3__.AngularFireAuth));
2105      };
2106
2107      _LoginResolver.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineInjectable"]({
2108        token: _LoginResolver,
2109        factory: _LoginResolver.ɵfac
2110      });
2111      /***/
2112    },
2113
2114    /***/
2115    84468:
2116    /*!****************************************!*\
2117      !*** ./src/app/core/msg-io.service.ts ***!
2118      \****************************************/
2119
2120    /***/
2121    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2122      "use strict";
2123
2124      __webpack_require__.r(__webpack_exports__);
2125      /* harmony export */
2126
2127
2128      __webpack_require__.d(__webpack_exports__, {
2129        /* harmony export */
2130        "MsgIoService": function MsgIoService() {
2131          return (
2132            /* binding */
2133            _MsgIoService
2134          );
2135        }
2136        /* harmony export */
2137
2138      });
2139      /* harmony import */
2140
2141
2142      var tslib__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(
2143      /*! tslib */
2144      64762);
2145      /* harmony import */
2146
2147
2148      var _angular_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(
2149      /*! @angular/core */
2150      37716);
2151      /* harmony import */
2152
2153
2154      var rxjs_operators__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(
2155      /*! rxjs/operators */
2156      88002);
2157      /* harmony import */
2158
2159
2160      var rxjs_operators__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(
2161      /*! rxjs/operators */
2162      15257);
2163      /* harmony import */
2164
2165
2166      var _common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
2167      /*! ./common.service */
2168      80150);
2169      /* harmony import */
2170
2171
2172      var _font_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
2173      /*! ./font.service */
2174      87181);
2175      /* harmony import */
2176
2177
2178      var firebase_app__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
2179      /*! firebase/app */
2180      42329);
2181      /* harmony import */
2182
2183
2184      var firebase_firestore__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
2185      /*! firebase/firestore */
2186      72491);
2187      /* harmony import */
2188
2189
2190      var _shared_interfaces_messages__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
2191      /*! ../shared/interfaces/messages */
2192      38031);
2193      /* harmony import */
2194
2195
2196      var _storage_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
2197      /*! ./storage.service */
2198      66498);
2199      /* harmony import */
2200
2201
2202      var _angular_fire_firestore__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(
2203      /*! @angular/fire/firestore */
2204      56717);
2205      /* harmony import */
2206
2207
2208      var _auth_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
2209      /*! ./auth.service */
2210      87341);
2211      /* harmony import */
2212
2213
2214      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(
2215      /*! @angular/platform-browser */
2216      39075);
2217      /* harmony import */
2218
2219
2220      var _sharing_link_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
2221      /*! ./sharing-link.service */
2222      84157);
2223      /* harmony import */
2224
2225
2226      var _signing_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(
2227      /*! ./signing.service */
2228      89214);
2229
2230      var firestore = firebase_app__WEBPACK_IMPORTED_MODULE_2__["default"].firestore;
2231      var Timestamp = firestore.Timestamp;
2232
2233      var _MsgIoService = /*#__PURE__*/function () {
2234        function _MsgIoService(afs, authService, sanitizer, sharingLinkService, signingService, storageService) {
2235          _classCallCheck(this, _MsgIoService);
2236
2237          this.afs = afs;
2238          this.authService = authService;
2239          this.sanitizer = sanitizer;
2240          this.sharingLinkService = sharingLinkService;
2241          this.signingService = signingService;
2242          this.storageService = storageService;
2243          this.messagesCollection = afs.collection('messages');
2244        }
2245        /**
2246         * Helper method for sendMessage(). Checks the contents of the provided message to verify that there are no errors,
2247         * and that all required fields were provided. Throws an error if any field is incorrect or not provided.
2248         * @param message - The message to be checked.
2249         * @throws Error - If any field is blank, null, undefined or otherwise invalid.
2250         * @throws RangeError - If the contents of the message exceed the value of the maxMessageLength constant defined
2251         * in MsgIoService.
2252         */
2253
2254
2255        _createClass(_MsgIoService, [{
2256          key: "verifyMessage",
2257          value: function verifyMessage(message) {
2258            var sanitizedContents = this.sanitizer.sanitize(_angular_core__WEBPACK_IMPORTED_MODULE_9__.SecurityContext.HTML, message.contents);
2259
2260            if (typeof message.to === 'undefined' || !message.to) {
2261              // This condition (used several times below) checks for undefined, null or empty strings
2262              throw new Error('Recipient UID was not provided');
2263            } else if (typeof message.contents === 'undefined' || !message.contents) {
2264              throw new Error('Message contents were not provided');
2265            } else if (!/\S+/.test(message.contents)) {
2266              // Ensure messages does not solely consist of whitespace
2267              throw new Error('Message contents cannot solely consist of whitespace/blanks');
2268            } else if (typeof message.backColor === 'undefined' || !message.backColor) {
2269              throw new Error('Background color was not provided');
2270            } else if (typeof message.fontColor === 'undefined' || !message.fontColor) {
2271              throw new Error('Font color was not provided');
2272            } else if (typeof message.fontFamily === 'undefined' || !message.fontFamily) {
2273              throw new Error('Font family was not provided');
2274            } else if (sanitizedContents.length > _MsgIoService.MAX_MSG_LENGTH) {
2275              throw new RangeError('Message is too long. The max length is ' + _MsgIoService.MAX_MSG_LENGTH + ' characters, ' + 'and the provided message is ' + sanitizedContents.length + ' characters long.\n' + 'Remember that some character such as line breaks, emojis and other languages have a length longer than one per character.');
2276            } else if (!/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(message.fontColor)) {
2277              // Match for hex code such as: #FFFFFF
2278              throw new Error("Provided font color is not a valid hex code. Did you forget to include '#'?" + ' Provided color code: ' + message.fontColor);
2279            } else if (!/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(message.backColor)) {
2280              // Match for hex code such as: #FFFFFF
2281              throw new Error("Provided background color is not a valid hex code. Did you forget to include '#'?" + ' Provided color code: ' + message.backColor);
2282            } else if (!(message.fontFamily in _font_service__WEBPACK_IMPORTED_MODULE_1__.FontService.FONTS)) {
2283              throw new Error("Provided font family is not supported or doesn't exist: " + message.fontFamily);
2284            } // Return not needed as an error will be thrown if something is wrong
2285
2286          }
2287          /**
2288           * @returns A blank VirtrolioMessageTemplate, which should be modified the returned template to fill in the user data
2289           * and then passed into MsgIoService.sendMessage().
2290           */
2291
2292        }, {
2293          key: "createBlankMessage",
2294          value: function createBlankMessage() {
2295            return new _shared_interfaces_messages__WEBPACK_IMPORTED_MODULE_4__.VirtrolioMessageTemplate();
2296          }
2297          /**
2298           * Collects ALL messages from the Firestore messages database that were sent to a particular user.
2299           * Pay careful attention to the fields that are returned in a VirtrolioMessage by reading
2300           * shared/interfaces/messages.ts. A VirtrolioMessage is NOT identical to a VirtrolioMessageTemplate.
2301           * @returns An Observable that will contain an array of all messages sent to uid, including the message IDs.
2302           * @throws Error - If the argument is blank, null or undefined.
2303           */
2304
2305        }, {
2306          key: "getMessages",
2307          value: function getMessages() {
2308            var _this6 = this;
2309
2310            this.authService.throwErrorIfLoggedOut('get your messages');
2311            return this.afs.collection('messages', function (ref) {
2312              return ref.where('to', '==', _this6.authService.uid()).orderBy('timestamp', 'desc');
2313            }).snapshotChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_10__.map)(function (actions) {
2314              return actions.map(function (a) {
2315                var data = a.payload.doc.data();
2316                var id = a.payload.doc.id;
2317                return Object.assign({
2318                  id: id
2319                }, data);
2320              });
2321            }));
2322          }
2323          /**
2324           * Collects a SINGLE message from the Firestore messages database based on a message ID.
2325           * Pay careful attention to the fields that are returned in a VirtrolioMessage by reading
2326           * shared/interfaces/messages.ts. A VirtrolioMessage is NOT identical to a VirtrolioMessageTemplate.
2327           * @param msgID - The ID of the message to be received.
2328           */
2329
2330        }, {
2331          key: "getMessage",
2332          value: function getMessage(msgID) {
2333            this.authService.throwErrorIfLoggedOut('fetch a message');
2334            var msgRef = this.afs.collection('messages').doc(msgID);
2335            return msgRef.snapshotChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_10__.map)(function (document) {
2336              var data = document.payload.data();
2337              var id = document.payload.id;
2338              return Object.assign({
2339                id: id
2340              }, data);
2341            }));
2342          }
2343          /**
2344           * Marks the specified message as read by changing the isRead property of the message.
2345           * To avoid unnecessary writes, the caller of this method should check the isRead property prior to calling
2346           * this method. If that property is already true, this method should not be called.
2347           * The check should be done using the local copy of the message object that is used to display that message.
2348           * DO NOT get a new copy of the message - that would increase reads.
2349           * Assumes the message exists.
2350           * @param id - The ID of the message to mark as read.
2351           */
2352
2353        }, {
2354          key: "markAsRead",
2355          value: function markAsRead(id) {
2356            return (0, tslib__WEBPACK_IMPORTED_MODULE_11__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee11() {
2357              return regeneratorRuntime.wrap(function _callee11$(_context11) {
2358                while (1) {
2359                  switch (_context11.prev = _context11.next) {
2360                    case 0:
2361                      _context11.next = 2;
2362                      return this.afs.collection('messages').doc(id).update({
2363                        isRead: true
2364                      })["catch"](function (error) {
2365                        _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
2366                      });
2367
2368                    case 2:
2369                    case "end":
2370                      return _context11.stop();
2371                  }
2372                }
2373              }, _callee11, this);
2374            }));
2375          }
2376          /**
2377           * Checks to see if the current user has already signed another user's virtrolio.
2378           * Assumes the UIDs were already checked to be valid.
2379           * @param toUID - The recipient of the message.
2380           * @returns true - If the current user has already signed the virtrolio of toUID.
2381           */
2382
2383        }, {
2384          key: "checkForMessage",
2385          value: function checkForMessage(toUID) {
2386            return (0, tslib__WEBPACK_IMPORTED_MODULE_11__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee12() {
2387              var msgRef, msgDoc;
2388              return regeneratorRuntime.wrap(function _callee12$(_context12) {
2389                while (1) {
2390                  switch (_context12.prev = _context12.next) {
2391                    case 0:
2392                      _context12.next = 2;
2393                      return this.afs.collection('messages').doc(this.authService.uid() + '-' + toUID + '-' + _MsgIoService.CURRENT_VERSION);
2394
2395                    case 2:
2396                      msgRef = _context12.sent;
2397                      _context12.next = 5;
2398                      return msgRef.valueChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_12__.take)(1)).toPromise();
2399
2400                    case 5:
2401                      msgDoc = _context12.sent;
2402                      return _context12.abrupt("return", !!msgDoc);
2403
2404                    case 7:
2405                    case "end":
2406                      return _context12.stop();
2407                  }
2408                }
2409              }, _callee12, this);
2410            }));
2411          }
2412          /**
2413           * Used to send a Virtrolio message (defined by VirtrolioMessageTemplate) by adding it to the Firestore database.
2414           * @param messageTemplate - The contents and settings of the message. This should be a VirtrolioMessageTemplate that
2415           * was created by MsgIoService.createBlankMessage and then modified to fill in the user data. You should **NOT** try
2416           * to pass in a VirtrolioMessageTemplate that you create yourself.
2417           * @param key - The key of the recipient of the message. This should be extracted from the URL provided by the sender.
2418           * @throws RangeError - Thrown by helper method this.verifyMessage()
2419           * @throws Error - Thrown by helper method this.verifyMessage()
2420           * @throws TypeError - If the key is incorrect
2421           * @throws ReferenceError - If this method is called when logged out
2422           */
2423
2424        }, {
2425          key: "sendMessage",
2426          value: function sendMessage(messageTemplate, key) {
2427            return (0, tslib__WEBPACK_IMPORTED_MODULE_11__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee13() {
2428              var keyIsCorrect, messageId, images, message, msgRef;
2429              return regeneratorRuntime.wrap(function _callee13$(_context13) {
2430                while (1) {
2431                  switch (_context13.prev = _context13.next) {
2432                    case 0:
2433                      // Check message object contents for validity
2434                      this.verifyMessage(messageTemplate); // Verify user is logged in
2435
2436                      _context13.next = 3;
2437                      return this.authService.asyncThrowErrorIfLoggedOut('send a message');
2438
2439                    case 3:
2440                      _context13.next = 5;
2441                      return this.checkForMessage(messageTemplate.to);
2442
2443                    case 5:
2444                      if (!_context13.sent) {
2445                        _context13.next = 7;
2446                        break;
2447                      }
2448
2449                      throw new Error("You have already signed this person's virtrolio. If you want to sign it again," + " you'll have to ask them to delete your original message first.");
2450
2451                    case 7:
2452                      _context13.next = 9;
2453                      return this.sharingLinkService.checkKey(messageTemplate.to, key);
2454
2455                    case 9:
2456                      keyIsCorrect = _context13.sent;
2457
2458                      if (!keyIsCorrect) {
2459                        _context13.next = 36;
2460                        break;
2461                      }
2462
2463                      // Remove XSS content from message contents
2464                      messageTemplate.contents = this.sanitizer.sanitize(_angular_core__WEBPACK_IMPORTED_MODULE_9__.SecurityContext.HTML, messageTemplate.contents); // Generate target message id
2465
2466                      messageId = this.authService.uid() + '-' + messageTemplate.to + '-' + _MsgIoService.CURRENT_VERSION; // Upload images
2467
2468                      _context13.next = 15;
2469                      return this.storageService.uploadImages(messageId, this.signingService.images);
2470
2471                    case 15:
2472                      images = _context13.sent;
2473                      _context13.t0 = Object;
2474                      _context13.t1 = Object.assign({}, messageTemplate);
2475                      _context13.t2 = this.authService.uid();
2476                      _context13.t3 = Timestamp.now();
2477                      _context13.t4 = images;
2478                      _context13.t5 = _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.CURRENT_YEAR;
2479                      _context13.next = 24;
2480                      return this.authService.displayName();
2481
2482                    case 24:
2483                      _context13.t6 = _context13.sent;
2484                      _context13.next = 27;
2485                      return this.authService.profilePictureLink();
2486
2487                    case 27:
2488                      _context13.t7 = _context13.sent;
2489                      _context13.t8 = key;
2490                      _context13.t9 = {
2491                        from: _context13.t2,
2492                        timestamp: _context13.t3,
2493                        images: _context13.t4,
2494                        isRead: false,
2495                        year: _context13.t5,
2496                        fromName: _context13.t6,
2497                        fromPic: _context13.t7,
2498                        key: _context13.t8
2499                      };
2500                      message = _context13.t0.assign.call(_context13.t0, _context13.t1, _context13.t9);
2501                      // Send the message
2502                      msgRef = this.messagesCollection.doc(messageId);
2503                      _context13.next = 34;
2504                      return msgRef.set(message)["catch"](function (error) {
2505                        _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
2506                      });
2507
2508                    case 34:
2509                      _context13.next = 37;
2510                      break;
2511
2512                    case 36:
2513                      throw new TypeError('Incorrect key');
2514
2515                    case 37:
2516                    case "end":
2517                      return _context13.stop();
2518                  }
2519                }
2520              }, _callee13, this);
2521            }));
2522          }
2523          /**
2524           * Deletes a message PERMANENTLY. The caller of this method is responsible for alerting the user that the deletion is
2525           * irreversible.
2526           * It is highly suggested that the caller display a confirmation dialog to confirm the deletion before calling this
2527           * method, as there is no way to reverse this operation. Not even if you say 'please'.
2528           * @param mID - The message/document ID of the message to be deleted.
2529           */
2530
2531        }, {
2532          key: "deleteMessage",
2533          value: function deleteMessage(mID) {
2534            return (0, tslib__WEBPACK_IMPORTED_MODULE_11__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee14() {
2535              return regeneratorRuntime.wrap(function _callee14$(_context14) {
2536                while (1) {
2537                  switch (_context14.prev = _context14.next) {
2538                    case 0:
2539                      _context14.next = 2;
2540                      return this.storageService.deleteFiles("".concat(_storage_service__WEBPACK_IMPORTED_MODULE_5__.StorageService.MESSAGE_IMG_BASE_PATH, "/").concat(mID));
2541
2542                    case 2:
2543                      _context14.next = 4;
2544                      return this.afs.collection('messages').doc(mID)["delete"]();
2545
2546                    case 4:
2547                    case "end":
2548                      return _context14.stop();
2549                  }
2550                }
2551              }, _callee14, this);
2552            }));
2553          }
2554        }]);
2555
2556        return _MsgIoService;
2557      }();
2558
2559      _MsgIoService.CURRENT_VERSION = '2021.1';
2560      _MsgIoService.MAX_MSG_LENGTH = 15000;
2561
2562      _MsgIoService.ɵfac = function MsgIoService_Factory(t) {
2563        return new (t || _MsgIoService)(_angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵinject"](_angular_fire_firestore__WEBPACK_IMPORTED_MODULE_13__.AngularFirestore), _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵinject"](_auth_service__WEBPACK_IMPORTED_MODULE_6__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵinject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_14__.DomSanitizer), _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵinject"](_sharing_link_service__WEBPACK_IMPORTED_MODULE_7__.SharingLinkService), _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵinject"](_signing_service__WEBPACK_IMPORTED_MODULE_8__.SigningService), _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵinject"](_storage_service__WEBPACK_IMPORTED_MODULE_5__.StorageService));
2564      };
2565
2566      _MsgIoService.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵdefineInjectable"]({
2567        token: _MsgIoService,
2568        factory: _MsgIoService.ɵfac,
2569        providedIn: 'root'
2570      });
2571      /***/
2572    },
2573
2574    /***/
2575    1239:
2576    /*!*************************************************!*\
2577      !*** ./src/app/core/navbar/navbar.component.ts ***!
2578      \*************************************************/
2579
2580    /***/
2581    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2582      "use strict";
2583
2584      __webpack_require__.r(__webpack_exports__);
2585      /* harmony export */
2586
2587
2588      __webpack_require__.d(__webpack_exports__, {
2589        /* harmony export */
2590        "NavbarComponent": function NavbarComponent() {
2591          return (
2592            /* binding */
2593            _NavbarComponent
2594          );
2595        }
2596        /* harmony export */
2597
2598      });
2599      /* harmony import */
2600
2601
2602      var _changelog_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
2603      /*! ./changelog.json */
2604      80925);
2605      /* harmony import */
2606
2607
2608      var _app_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
2609      /*! ../../app.component */
2610      55041);
2611      /* harmony import */
2612
2613
2614      var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
2615      /*! @angular/router */
2616      39895);
2617      /* harmony import */
2618
2619
2620      var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
2621      /*! @angular/core */
2622      37716);
2623      /* harmony import */
2624
2625
2626      var _auth_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
2627      /*! ../auth.service */
2628      87341);
2629      /* harmony import */
2630
2631
2632      var _angular_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
2633      /*! @angular/common */
2634      38583);
2635
2636      function NavbarComponent_li_26_Template(rf, ctx) {
2637        if (rf & 1) {
2638          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](0, "li", 37);
2639        }
2640      }
2641
2642      function NavbarComponent_div_36_Template(rf, ctx) {
2643        if (rf & 1) {
2644          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 38);
2645
2646          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](1, "img", 39);
2647
2648          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2649        }
2650
2651        if (rf & 2) {
2652          var ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
2653
2654          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
2655
2656          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpropertyInterpolate"]("src", ctx_r1.authService.notAsyncProfilePictureLink(), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵsanitizeUrl"]);
2657        }
2658      }
2659
2660      function NavbarComponent_ng_container_60_div_1_span_4_Template(rf, ctx) {
2661        if (rf & 1) {
2662          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "span");
2663
2664          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](1, "br");
2665
2666          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](2, "small");
2667
2668          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "em");
2669
2670          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](4, "You can send one new message to each of your friends with this update! ");
2671
2672          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2673
2674          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](5, "\uD83D\uDC8C");
2675
2676          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2677
2678          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2679        }
2680      }
2681
2682      function NavbarComponent_ng_container_60_div_1_ng_container_6_li_1_Template(rf, ctx) {
2683        if (rf & 1) {
2684          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "li");
2685
2686          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "span");
2687
2688          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](2);
2689
2690          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2691
2692          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](3, "\xA0");
2693
2694          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "u");
2695
2696          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](5);
2697
2698          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2699
2700          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](6);
2701
2702          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2703        }
2704
2705        if (rf & 2) {
2706          var item_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]().$implicit;
2707
2708          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
2709
2710          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵattribute"]("class", item_r7.typeCSS);
2711
2712          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
2713
2714          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"]("[", item_r7.type, "]");
2715
2716          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
2717
2718          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate"](item_r7.location);
2719
2720          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
2721
2722          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](": ", item_r7.content, " ");
2723        }
2724      }
2725
2726      function NavbarComponent_ng_container_60_div_1_ng_container_6_Template(rf, ctx) {
2727        if (rf & 1) {
2728          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerStart"](0);
2729
2730          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](1, NavbarC
2730omponent_ng_container_60_div_1_ng_container_6_li_1_Template, 7, 4, "li", 40);
2731
2732          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerEnd"]();
2733        }
2734
2735        if (rf & 2) {
2736          var item_r7 = ctx.$implicit;
2737
2738          var ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](3);
2739
2740          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
2741
2742          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", item_r7.betaFlag === false || ctx_r6.beta === true);
2743        }
2744      }
2745
2746      function NavbarComponent_ng_container_60_div_1_Template(rf, ctx) {
2747        if (rf & 1) {
2748          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div");
2749
2750          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "p");
2751
2752          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](2, "strong");
2753
2754          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](3);
2755
2756          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2757
2758          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](4, NavbarComponent_ng_container_60_div_1_span_4_Template, 6, 0, "span", 40);
2759
2760          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2761
2762          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](5, "ul");
2763
2764          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](6, NavbarComponent_ng_container_60_div_1_ng_container_6_Template, 2, 1, "ng-container", 34);
2765
2766          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2767
2768          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2769        }
2770
2771        if (rf & 2) {
2772          var version_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]().$implicit;
2773
2774          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
2775
2776          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate2"]("v", version_r3.versionNumber, " | ", version_r3.releaseDate, "");
2777
2778          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
2779
2780          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", version_r3.newMessageAvailable);
2781
2782          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
2783
2784          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngForOf", version_r3.items);
2785        }
2786      }
2787
2788      function NavbarComponent_ng_container_60_Template(rf, ctx) {
2789        if (rf & 1) {
2790          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerStart"](0);
2791
2792          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](1, NavbarComponent_ng_container_60_div_1_Template, 7, 4, "div", 40);
2793
2794          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerEnd"]();
2795        }
2796
2797        if (rf & 2) {
2798          var version_r3 = ctx.$implicit;
2799
2800          var ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
2801
2802          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
2803
2804          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", version_r3.betaUpdate === false || ctx_r2.beta === true);
2805        }
2806      }
2807
2808      var _c0 = function _c0() {
2809        return {
2810          exact: true
2811        };
2812      };
2813
2814      var _NavbarComponent = /*#__PURE__*/function () {
2815        function _NavbarComponent(authService, router) {
2816          _classCallCheck(this, _NavbarComponent);
2817
2818          this.authService = authService;
2819          this.router = router;
2820          this.changelog = _changelog_json__WEBPACK_IMPORTED_MODULE_0__;
2821          this.beta = _app_component__WEBPACK_IMPORTED_MODULE_1__.AppComponent.BETA;
2822          router.events.subscribe(function (event) {
2823            if (event instanceof _angular_router__WEBPACK_IMPORTED_MODULE_4__.NavigationStart) {
2824              $('#changelog').modal('hide');
2825            }
2826          });
2827        }
2828
2829        _createClass(_NavbarComponent, [{
2830          key: "ngOnInit",
2831          value: function ngOnInit() {
2832            /* Make hamburger menu collapse on item click */
2833            $('.navbar-nav>li>a').on('click', function () {
2834              $('.navbar-collapse').collapse('hide');
2835            });
2836          }
2837        }, {
2838          key: "ngOnDestroy",
2839          value: function ngOnDestroy() {
2840            $('#changelog').modal('hide');
2841          }
2842        }]);
2843
2844        return _NavbarComponent;
2845      }();
2846
2847      _NavbarComponent.ɵfac = function NavbarComponent_Factory(t) {
2848        return new (t || _NavbarComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_auth_service__WEBPACK_IMPORTED_MODULE_2__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_4__.Router));
2849      };
2850
2851      _NavbarComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineComponent"]({
2852        type: _NavbarComponent,
2853        selectors: [["app-navbar"]],
2854        decls: 64,
2855        vars: 8,
2856        consts: [[1, "navbar", "navbar-expand-md", "navbar-dark", "bg-light"], ["id", "navbar_title", "routerLink", "", 1, "navbar-brand"], ["alt", "Virtrolio Logo", "height", "30", "src", "../../../assets/images/logo_inverted-circle.png", "width", "30", 1, "d-inline-block", "align-top"], ["aria-controls", "navbarNav", "aria-expanded", "false", "aria-label", "Toggle navigation", "data-target", "#navbarNav", "data-toggle", "collapse", "type", "button", 1, "navbar-toggler"], [1, "navbar-toggler-icon"], ["id", "navbarNav", 1, "collapse", "navbar-collapse"], [1, "navbar-nav", "ml-2"], [1, "nav-item"], ["routerLink", "", "routerLinkActive", "navbar-nav-active", 1, "nav-link", 3, "routerLinkActiveOptions"], ["routerLink", "my-virtrolio", "routerLinkActive", "navbar-nav-active", 1, "nav-link", 3, "hidden"], ["routerLink", "about", "routerLinkActive", "navbar-nav-active", 1, "nav-link"], ["routerLink", "faq", "routerLinkActive", "navbar-nav-active", 1, "nav-link"], ["routerLink", "contact", "routerLinkActive", "navbar-nav-active", 1, "nav-link"], ["role", "button", "data-toggle", "modal", "data-target", "#changelog", 1, "nav-link"], ["class", "dropdown-divider d-block d-sm-block d-md-none", 4, "ngIf"], [1, "nav-item", "d-block", "d-sm-block", "d-md-none"], ["routerLink", "settings", 1, "nav-link", 3, "hidden"], ["href", "#", 1, "nav-link", 3, "hidden", "click"], [1, "float-right", "d-none", "d-md-block", "d-lg-block", "d-xl-block"], [1, "dropdown", "dropleft"], ["aria-expanded", "false", "aria-haspopup", "true", "data-toggle", "dropdown", "href", "#", "id", "dropdownMenuLink", "role", "button"], ["class", "float-right profile-pic-container", 4, "ngIf"], ["aria-labelledby", "dropdownMenuButton", 1, "dropdown-menu"], ["routerLink", "settings", 1, "dropdown-item"], ["href", "#", "id", "logout-text", 1, "dropdown-item", 3, "click"], ["id", "changelog", "tabindex", "-1", "role", "dialog", "aria-labelledby", "changelog-label", "aria-hidden", "true", 1, "modal", "fade"], [1, "modal-dialog", "modal-dialog-centered", "modal-lg"], [1, "modal-content"], [1, "modal-header"], ["id", "changelog-label", 1, "modal-title"], ["type", "button", "data-dismiss", "modal", "aria-label", "Close", 1, "close"], ["aria-hidden", "true"], ["id", "changelog-body", 1, "modal-body"], ["id", "changelog-note"], [4, "ngFor", "ngForOf"], [1, "modal-footer"], ["type", "button", "data-dismiss", "modal", 1, "btn", "btn-secondary"], [1, "dropdown-divider", "d-block", "d-sm-block", "d-md-none"], [1, "float-right", "profile-pic-container"], ["alt", "profile-pic", 1, "profile-pic", 3, "src"], [4, "ngIf"]],
2857        template: function NavbarComponent_Template(rf, ctx) {
2858          if (rf & 1) {
2859            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "nav", 0);
2860
2861            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "a", 1);
2862
2863            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](2, "img", 2);
2864
2865            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](3, " Virtrolio ");
2866
2867            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2868
2869            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "button", 3);
2870
2871            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](5, "span", 4);
2872
2873            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2874
2875            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](6, "div", 5);
2876
2877            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](7, "ul", 6);
2878
2879            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](8, "li", 7);
2880
2881            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](9, "a", 8);
2882
2883            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](10, "Home");
2884
2885            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2886
2887            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2888
2889            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](11, "li", 7);
2890
2891            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "a", 9);
2892
2893            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](13, "My virtrolio");
2894
2895            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2896
2897            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2898
2899            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](14, "li", 7);
2900
2901            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](15, "a", 10);
2902
2903            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](16, "About Us");
2904
2905            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2906
2907            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2908
2909            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](17, "li", 7);
2910
2911            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](18, "a", 11);
2912
2913            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](19, "FAQ");
2914
2915            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2916
2917            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2918
2919            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](20, "li", 7);
2920
2921            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](21, "a", 12);
2922
2923            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](22, "Contact Us");
2924
2925            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2926
2927            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2928
2929            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](23, "li", 7);
2930
2931            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](24, "a", 13);
2932
2933            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](25, "What's New?");
2934
2935            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2936
2937            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2938
2939            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](26, NavbarC
2939omponent_li_26_Template, 1, 0, "li", 14);
2940
2941            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](27, "li", 15);
2942
2943            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](28, "a", 16);
2944
2945            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](29, "Settings");
2946
2947            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2948
2949            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2950
2951            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](30, "li", 15);
2952
2953            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](31, "a", 17);
2954
2955            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function NavbarComponent_Template_a_click_31_listener() {
2956              return ctx.authService.logout();
2957            });
2958
2959            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](32, "Logout");
2960
2961            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2962
2963            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2964
2965            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2966
2967            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2968
2969            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](33, "div", 18);
2970
2971            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](34, "div", 19);
2972
2973            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](35, "a", 20);
2974
2975            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](36, NavbarComponent_div_36_Template, 2, 1, "div", 21);
2976
2977            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2978
2979            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](37, "div", 22);
2980
2981            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](38, "a", 23);
2982
2983            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](39, "Settings");
2984
2985            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2986
2987            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](40, "a", 24);
2988
2989            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function NavbarComponent_Template_a_click_40_listener() {
2990              return ctx.authService.logout();
2991            });
2992
2993            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](41, "Logout");
2994
2995            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2996
2997            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
2998
2999            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3000
3001            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3002
3003            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3004
3005            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](42, "div", 25);
3006
3007            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](43, "div", 26);
3008
3009            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](44, "div", 27);
3010
3011            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](45, "div", 28);
3012
3013            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](46, "h5", 29);
3014
3015            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](47, "Changelog");
3016
3017            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3018
3019            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](48, "button", 30);
3020
3021            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](49, "span", 31);
3022
3023            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](50, "\xD7");
3024
3025            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3026
3027            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3028
3029            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3030
3031            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](51, "div", 32);
3032
3033            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](52, "p");
3034
3035            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](53, " New features, fixes, and updates will be posted here whenever we update the website! ");
3036
3037            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3038
3039            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](54, "p", 33);
3040
3041            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](55, "small");
3042
3043            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](56, "Note: Whenever we release an update to the 'signing' page, we may, at our discretion, allow you to send ");
3044
3045            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](57, "em");
3046
3047            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](58, "another");
3048
3049            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3050
3051            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](59, " message to each of your friends' virtrolios as if it were a new year! This ensures that you will be able to enjoy any new features that we develop. Keep an eye out for versions with a \uD83D\uDC8C emoji next to them to see if you're allowed to send an extra message!");
3052
3053            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3054
3055            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3056
3057            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](60, NavbarC
3057omponent_ng_container_60_Template, 2, 1, "ng-container", 34);
3058
3059            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3060
3061            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](61, "div", 35);
3062
3063            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](62, "button", 36);
3064
3065            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](63, " Close ");
3066
3067            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3068
3069            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3070
3071            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3072
3073            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3074
3075            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3076          }
3077
3078          if (rf & 2) {
3079            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](9);
3080
3081            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("routerLinkActiveOptions", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpureFunction0"](7, _c0));
3082
3083            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
3084
3085            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("hidden", !ctx.authService.isLoggedIn());
3086
3087            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](14);
3088
3089            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.authService.isLoggedIn());
3090
3091            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
3092
3093            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("hidden", !ctx.authService.isLoggedIn());
3094
3095            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
3096
3097            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("hidden", !ctx.authService.isLoggedIn());
3098
3099            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](5);
3100
3101            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.authService.isLoggedIn());
3102
3103            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](24);
3104
3105            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngForOf", ctx.changelog);
3106          }
3107        },
3108        directives: [_angular_router__WEBPACK_IMPORTED_MODULE_4__.RouterLinkWithHref, _angular_router__WEBPACK_IMPORTED_MODULE_4__.RouterLinkActive, _angular_common__WEBPACK_IMPORTED_MODULE_5__.NgIf, _angular_common__WEBPACK_IMPORTED_MODULE_5__.NgForOf],
3109        styles: [".navbar[_ngcontent-%COMP%] {\r\n  background: var(--accent);\r\n  background: linear-gradient(\r\n    90deg,\r\n    var(--navbar-left) 0%,\r\n    var(--navbar-right) 100%\r\n  );\r\n  position: fixed;\r\n  top: 0;\r\n  width: 100%;\r\n  z-index: 1;\r\n  height: var(--navbar-height);\r\n  padding: 0;\r\n}\r\n\r\n#navbar_title[_ngcontent-%COMP%] {\r\n  font-family: Montserrat, sans-serif;\r\n  font-weight: 400;\r\n  color: white;\r\n  margin-left: 1em;\r\n}\r\n\r\n#logout-text[_ngcontent-%COMP%] {\r\n  color: red;\r\n}\r\n\r\n.navbar-nav-active[_ngcontent-%COMP%] {\r\n  color: #ffffff !important;\r\n  -webkit-text-decoration: underline #ffffffbf !important;\r\n          text-decoration: underline #ffffffbf !important;\r\n  text-underline-offset: 0.2em;\r\n}\r\n\r\n.navbar-nav[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%] {\r\n  color: #fefefe;\r\n  opacity: 0.75;\r\n}\r\n\r\n.navbar-nav[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]:hover   a[_ngcontent-%COMP%]:hover {\r\n  color: #ffffff;\r\n  opacity: 1;\r\n}\r\n\r\n.profile-pic[_ngcontent-%COMP%] {\r\n  width: 100%;\r\n}\r\n\r\n.profile-pic[_ngcontent-%COMP%]:hover {\r\n  opacity: 0.75;\r\n}\r\n\r\n.profile-pic-container[_ngcontent-%COMP%] {\r\n  margin-right: 1em;\r\n}\r\n\r\n.navbar-collapse[_ngcontent-%COMP%] {\r\n  background: rgba(255, 255, 255, 0);\r\n  padding: 0 1em;\r\n}\r\n\r\n.navbar-toggler[_ngcontent-%COMP%] {\r\n  margin-right: 1em;\r\n  border-color: rgba(255, 255, 255, 0.2);\r\n}\r\n\r\n.navbar-toggler-icon[_ngcontent-%COMP%] {\r\n  \r\n  background-image: url('hamburger-icon-custom-white.svg');\r\n}\r\n\r\n\r\n\r\n@media (max-width: 767px) {\r\n  .navbar-collapse[_ngcontent-%COMP%] {\r\n    background: var(--accent);\r\n    background: linear-gradient(\r\n      90deg,\r\n      rgba(250, 128, 114, 1) 0%,\r\n      rgba(251, 91, 91, 1) 100%\r\n    );\r\n    box-shadow: 0 0.5em 1em -1em black;\r\n    border-radius: 0 0 1em 1em;\r\n    font-weight: bold;\r\n    padding-bottom: 1em;\r\n  }\r\n}\r\n\r\n\r\n\r\n#changelog-body[_ngcontent-%COMP%] {\r\n  max-height: 25em;\r\n  overflow: auto;\r\n}\r\n\r\n#changelog-note[_ngcontent-%COMP%] {\r\n  line-height: 1em;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n.changelog-new[_ngcontent-%COMP%] {\r\n  color: #41af14;\r\n  font-weight: bold;\r\n}\r\n\r\n\r\n\r\n.changelog-upd[_ngcontent-%COMP%] {\r\n  color: dodgerblue;\r\n  font-weight: bold;\r\n}\r\n\r\n\r\n\r\n.changelog-fix[_ngcontent-%COMP%] {\r\n  color: red;\r\n  font-weight: bold;\r\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UseUJBQXlCO0VBQ3pCOzs7O0dBSUM7RUFDRCxlQUFlO0VBQ2YsTUFBTTtFQUNOLFdBQVc7RUFDWCxVQUFVO0VBQ1YsNEJBQTRCO0VBQzVCLFVBQVU7QUFDWjs7QUFFQTtFQUNFLG1DQUFtQztFQUNuQyxnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6Qix1REFBK0M7VUFBL0MsK0NBQStDO0VBQy9DLDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsVUFBVTtBQUNaOztBQUVBO0VBQ0UsV0FBVztBQUNiOztBQUVBO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0Usa0NBQWtDO0VBQ2xDLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsc0NBQXNDO0FBQ3hDOztBQUVBO0VBQ0UsK0VBQStFO0VBQy9FLHdEQUE2RTtBQUMvRTs7QUFFQSwyQ0FBMkM7O0FBQzNDO0VBQ0U7SUFDRSx5QkFBeUI7SUFDekI7Ozs7S0FJQztJQUNELGtDQUFrQztJQUNsQywwQkFBMEI7SUFDMUIsaUJBQWlCO0lBQ2pCLG1CQUFtQjtFQUNyQjtBQUNGOztBQUVBLGNBQWM7O0FBQ2Q7RUFDRSxnQkFBZ0I7RUFDaEIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQSw2RkFBNkY7O0FBQzdGLCtCQUErQjs7QUFDL0I7RUFDRSxjQUFjO0VBQ2QsaUJBQWlCO0FBQ25COztBQUVBLCtCQUErQjs7QUFDL0I7RUFDRSxpQkFBaUI7RUFDakIsaUJBQWlCO0FBQ25COztBQUVBLCtCQUErQjs7QUFDL0I7RUFDRSxVQUFVO0VBQ1YsaUJBQWlCO0FBQ25CIiwiZmlsZSI6Im5hdmJhci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm5hdmJhciB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcbiAgICA5MGRlZyxcclxuICAgIHZhcigtLW5hdmJhci1sZWZ0KSAwJSxcclxuICAgIHZhcigtLW5hdmJhci1yaWdodCkgMTAwJVxyXG4gICk7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiAxO1xyXG4gIGhlaWdodDogdmFyKC0tbmF2YmFyLWhlaWdodCk7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuI25hdmJhcl90aXRsZSB7XHJcbiAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDt
3109cclxuICBjb2xvcjogd2hpdGU7XHJcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcclxufVxyXG5cclxuI2xvZ291dC10ZXh0IHtcclxuICBjb2xvcjogcmVkO1xyXG59XHJcblxyXG4ubmF2YmFyLW5hdi1hY3RpdmUge1xyXG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgI2ZmZmZmZmJmICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjJlbTtcclxufVxyXG5cclxuLm5hdmJhci1uYXYgbGkgYSB7XHJcbiAgY29sb3I6ICNmZWZlZmU7XHJcbiAgb3BhY2l0eTogMC43NTtcclxufVxyXG5cclxuLm5hdmJhci1uYXYgbGk6aG92ZXIgYTpob3ZlciB7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbiAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLnByb2ZpbGUtcGljIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnByb2ZpbGUtcGljOmhvdmVyIHtcclxuICBvcGFjaXR5OiAwLjc1O1xyXG59XHJcblxyXG4ucHJvZmlsZS1waWMtY29udGFpbmVyIHtcclxuICBtYXJnaW4tcmlnaHQ6IDFlbTtcclxufVxyXG5cclxuLm5hdmJhci1jb2xsYXBzZSB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcclxuICBwYWRkaW5nOiAwIDFlbTtcclxufVxyXG5cclxuLm5hdmJhci10b2dnbGVyIHtcclxuICBtYXJnaW4tcmlnaHQ6IDFlbTtcclxuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxufVxyXG5cclxuLm5hdmJhci10b2dnbGVyLWljb24ge1xyXG4gIC8qIFJlcGxhY2UgdGhlIGhhbWJ1cmdlciBpY29uIGltYWdlIHdpdGggYSBjdXN0b20gU1ZHIHRoYXQgaGFzIGN1c3RvbSBjb2xvdXJzICovXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvaGFtYnVyZ2VyLWljb24tY3VzdG9tLXdoaXRlLnN2Zyk7XHJcbn1cclxuXHJcbi8qIEFsdGVybmF0ZSBmb3JtYXR0aW5nIGZvciBtb2JpbGUgbmF2YmFyICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gIC5uYXZiYXItY29sbGFwc2Uge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuICAgICAgOTBkZWcsXHJcbiAgICAgIHJnYmEoMjUwLCAxMjgsIDExNCwgMSkgMCUsXHJcbiAgICAgIHJnYmEoMjUxLCA5MSwgOTEsIDEpIDEwMCVcclxuICAgICk7XHJcbiAgICBib3gtc2hhZG93OiAwIDAuNWVtIDFlbSAtMWVtIGJsYWNrO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDFlbSAxZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XHJcbiAgfVxyXG59XHJcblxyXG4vKiBDaGFuZ2Vsb2cgKi9cclxuI2NoYW5nZWxvZy1ib2R5IHtcclxuICBtYXgtaGVpZ2h0OiAyNWVtO1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4jY2hhbmdlbG9nLW5vdGUge1xyXG4gIGxpbmUtaGVpZ2h0OiAxZW07XHJcbn1cclxuXHJcbi8qIFRoZXNlIGZvcm1hdCB0aGUgY2hhbmdlbG9nIGl0ZW1zIGFuZCBhcmUgdXNlZCBjb25kaXRpb25hbGx5LCBzbyBzdXBwcmVzc2lvbiBpcyBuZWNlc3NhcnkgKi9cclxuLypub2luc3BlY3Rpb24gQ3NzVW51c2VkU3ltYm9sKi9cclxuLmNoYW5nZWxvZy1uZXcge1xyXG4gIGNvbG9yOiAjNDFhZjE0O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4vKm5vaW5zcGVjdGlvbiBDc3NVbnVzZWRTeW1ib2wqL1xyXG4uY2hhbmdlbG9nLXVwZCB7XHJcbiAgY29sb3I6IGRvZGdlcmJsdWU7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qbm9pbnNwZWN0aW9uIENzc1VudXNlZFN5bWJvbCovXHJcbi5jaGFuZ2Vsb2ctZml4IHtcclxuICBjb2xvcjogcmVkO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbiJdfQ== */"]
3110      });
3111      /***/
3112    },
3113
3114    /***/
3115    88989:
3116    /*!***********************************************!*\
3117      !*** ./src/app/core/pending-changes.guard.ts ***!
3118      \***********************************************/
3119
3120    /***/
3121    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3122      "use strict";
3123
3124      __webpack_require__.r(__webpack_exports__);
3125      /* harmony export */
3126
3127
3128      __webpack_require__.d(__webpack_exports__, {
3129        /* harmony export */
3130        "PendingChangesGuard": function PendingChangesGuard() {
3131          return (
3132            /* binding */
3133            _PendingChangesGuard
3134          );
3135        }
3136        /* harmony export */
3137
3138      });
3139      /* harmony import */
3140
3141
3142      var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
3143      /*! @angular/core */
3144      37716);
3145
3146      var _PendingChangesGuard = /*#__PURE__*/function () {
3147        function _PendingChangesGuard() {
3148          _classCallCheck(this, _PendingChangesGuard);
3149        }
3150
3151        _createClass(_PendingChangesGuard, [{
3152          key: "canDeactivate",
3153          value:
3154          /**
3155           * Returns a warning if a user attempts to navigate away and canDeactivate() is false
3156           * Note that the warning message specified will only show when navigating within the angular app.
3157           * When navigating outside the app, the browser will show a generic confirm dialogue.
3158           * @param component - the component that will get deactivated
3159           */
3160          function canDeactivate(component) {
3161            return component.canDeactivate() ? true : confirm('WARNING: Your message has not been sent yet. Press Cancel to go back to complete and send your message, or OK to discard your message.');
3162          }
3163        }]);
3164
3165        return _PendingChangesGuard;
3166      }();
3167
3168      _PendingChangesGuard.ɵfac = function PendingChangesGuard_Factory(t) {
3169        return new (t || _PendingChangesGuard)();
3170      };
3171
3172      _PendingChangesGuard.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjectable"]({
3173        token: _PendingChangesGuard,
3174        factory: _PendingChangesGuard.ɵfac
3175      });
3176      /***/
3177    },
3178
3179    /***/
3180    84157:
3181    /*!**********************************************!*\
3182      !*** ./src/app/core/sharing-link.service.ts ***!
3183      \**********************************************/
3184
3185    /***/
3186    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3187      "use strict";
3188
3189      __webpack_require__.r(__webpack_exports__);
3190      /* harmony export */
3191
3192
3193      __webpack_require__.d(__webpack_exports__, {
3194        /* harmony export */
3195        "SharingLinkService": function SharingLinkService() {
3196          return (
3197            /* binding */
3198            _SharingLinkService
3199          );
3200        }
3201        /* harmony export */
3202
3203      });
3204      /* harmony import */
3205
3206
3207      var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
3208      /*! tslib */
3209      64762);
3210      /* harmony import */
3211
3212
3213      var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
3214      /*! rxjs/operators */
3215      15257);
3216      /* harmony import */
3217
3218
3219      var _auth_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
3220      /*! ./auth.service */
3221      87341);
3222      /* harmony import */
3223
3224
3225      var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
3226      /*! @angular/core */
3227      37716);
3228      /* harmony import */
3229
3230
3231      var _angular_fire_firestore__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
3232      /*! @angular/fire/firestore */
3233      56717);
3234
3235      var _SharingLinkService = /*#__PURE__*/function () {
3236        function _SharingLinkService(authService, afs) {
3237          _classCallCheck(this, _SharingLinkService);
3238
3239          this.authService = authService;
3240          this.afs = afs;
3241        }
3242        /**
3243         * Generates the shareable signing link for the current user. The signing link has two query parameters that are used
3244         * by Angular routerLink. The first is 'uid', which is the current user's Firebase Authentication User ID.
3245         * The second is 'key', which is generated by AppAuthService.changeKey().
3246         * @returns The sharable signing link for the current user, usable by FriendLinkComponent.
3247         * @throws ReferenceError - If the user is not logged in
3248         */
3249
3250
3251        _createClass(_SharingLinkService, [{
3252          key: "getLink",
3253          value: function getLink() {
3254            return (0, tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee15() {
3255              var link, user, userRef, userDoc, key;
3256              return regeneratorRuntime.wrap(function _callee15$(_context15) {
3257                while (1) {
3258                  switch (_context15.prev = _context15.next) {
3259                    case 0:
3260                      _context15.next = 2;
3261                      return this.authService.asyncThrowErrorIfLoggedOut('get your sharing link');
3262
3263                    case 2:
3264                      link = 'https://virtrolio.web.app/signing?uid=';
3265                      user = this.authService.uid();
3266                      link += user + '&key=';
3267                      userRef = this.afs.collection('users').doc(user);
3268                      _context15.next = 8;
3269                      return userRef.valueChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1)).toPromise();
3270
3271                    case 8:
3272                      userDoc = _context15.sent;
3273
3274                      if (userDoc) {
3275                        _context15.next = 15;
3276                        break;
3277                      }
3278
3279                      _context15.next = 12;
3280                      return this.authService.createUser(this.authService.getUser());
3281
3282                    case 12:
3283                      _context15.next = 14;
3284                      return userRef.valueChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1)).toPromise();
3285
3286                    case 14:
3287                      userDoc = _context15.sent;
3288
3289                    case 15:
3290                      key = userDoc.key;
3291
3292                      if (!(typeof key === 'undefined' || !key)) {
3293                        _context15.next = 22;
3294                        break;
3295                      }
3296
3297                      _context15.next = 19;
3298                      return this.changeKey();
3299
3300                    case 19:
3301                      _context15.next = 21;
3302                      return userRef.valueChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1)).toPromise();
3303
3304                    case 21:
3305                      key = _context15.sent.key;
3306
3307                    case 22:
3308                      link += key;
3309                      return _context15.abrupt("return", link);
3310
3311                    case 24:
3312                    case "end":
3313                      return _context15.stop();
3314                  }
3315                }
3316              }, _callee15, this);
3317            }));
3318          }
3319          /**
3320           * Verifies if the provided key matches the key for the provided user in the database.
3321           * Used to verify a correct link before allowing a user to sign someone else's Virtrolio.
3322           * @param uid - The user ID of the user to check the key against. Usually the **recipient** of the message.
3323           * @param key - The key provided by the sender to verify. Should be obtained from the provided 'key' query parameter
3324           * in the URL.
3325           * @returns - A promise evaluating to true if the key is correct, false if the key is incorrect.
3326           * @throws Error - If either argument is blank, null or undefined.
3327           * @throws ReferenceError - if the UID does not exist or the user is logged out.
3328           */
3329
3330        }, {
3331          key: "checkKey",
3332          value: function checkKey(uid, key) {
3333            return (0, tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee17() {
3334              var _this7 = this;
3335
3336              return regeneratorRuntime.wrap(function _callee17$(_context17) {
3337                while (1) {
3338                  switch (_context17.prev = _context17.next) {
3339                    case 0:
3340                      if (!(typeof uid === 'undefined' || !uid)) {
3341                        _context17.next = 4;
3342                        break;
3343                      }
3344
3345                      throw new Error('Argument UID was not provided');
3346
3347                    case 4:
3348                      if (!(typeof key === 'undefined' || !key)) {
3349                        _context17.next = 6;
3350                        break;
3351                      }
3352
3353                      throw new Error('Argument Key was not provided');
3354
3355                    case 6:
3356                      _context17.next = 8;
3357                      return this.authService.asyncThrowErrorIfLoggedOut('verify the key that you provided');
3358
3359                    case 8:
3360                      return _context17.abrupt("return", this.authService.userExists(uid).then(function (userExists) {
3361                        return (0, tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(_this7, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee16() {
3362                          var userRef, userDoc;
3363                          return regeneratorRuntime.wrap(function _callee16$(_context16) {
3364                            while (1) {
3365                              switch (_context16.prev = _context16.next) {
3366                                case 0:
3367                                  if (!userExists) {
3368                                    _context16.next = 8;
3369                                    break;
3370                                  }
3371
3372                                  userRef = this.afs.collection('users').doc(uid);
3373                                  _context16.next = 4;
3374                                  return userRef.valueChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1)).toPromise();
3375
3376                                case 4:
3377                                  userDoc = _context16.sent;
3378                                  return _context16.abrupt("return", key === userDoc.key);
3379
3380                                case 8:
3381                                  throw new ReferenceError("User does not exist in the 'users' database");
3382
3383                                case 9:
3384                                case "end":
3385                                  return _context16.stop();
3386                              }
3387                            }
3388                          }, _callee16, this);
3389                        }));
3390                      }));
3391
3392                    case 9:
3393                    case "end":
3394                      return _context17.stop();
3395                  }
3396                }
3397              }, _callee17, this);
3398            }));
3399          }
3400          /**
3401           * Replaces the current user's key with a new and randomly generated key.
3402           * No parameters are expected because only the key of the currently logged in user can be changed.
3403           * Assumes that the user is logged in (components using this method should be protected using AuthGuard)
3404           * @throws ReferenceError - If the user is not logged in
3405           */
3406
3407        }, {
3408          key: "changeKey",
3409          value: function changeKey() {
3410            return (0, tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee18() {
3411              var user, userRef, userDoc, oldKey, newKey;
3412              return regeneratorRuntime.wrap(function _callee18$(_context18) {
3413                while (1) {
3414                  switch (_context18.prev = _context18.next) {
3415                    case 0:
3416                      _context18.next = 2;
3417                      return this.authService.asyncThrowErrorIfLoggedOut('change your key');
3418
3419                    case 2:
3420                      user = this.authService.uid();
3421                      userRef = this.afs.collection('users').doc(user);
3422                      _context18.next = 6;
3423                      return userRef.valueChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1)).toPromise();
3424
3425                    case 6:
3426                      userDoc = _context18.sent;
3427
3428                      if ('key' in userDoc) {
3429                        _context18.next = 11;
3430                        break;
3431                      }
3432
3433                      return _context18.abrupt("return", userRef.update({
3434                        key: _auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService.generateKey()
3435                      }));
3436
3437                    case 11:
3438                      // If the key does exist, need to make sure the new key is unique
3439                      oldKey = userDoc.key;
3440                      newKey = _auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService.generateKey();
3441
3442                      while (oldKey === newKey) {
3443                        newKey = _auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService.generateKey();
3444                      }
3445
3446                      return _context18.abrupt("return", userRef.update({
3447                        key: newKey
3448                      }));
3449
3450                    case 15:
3451                    case "end":
3452                      return _context18.stop();
3453                  }
3454                }
3455              }, _callee18, this);
3456            }));
3457          }
3458        }]);
3459
3460        return _SharingLinkService;
3461      }();
3462
3463      _SharingLinkService.ɵfac = function SharingLinkService_Factory(t) {
3464        return new (t || _SharingLinkService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_auth_service__WEBPACK_IMPO
3464RTED_MODULE_0__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_angular_fire_firestore__WEBPACK_IMPORTED_MODULE_4__.AngularFirestore));
3465      };
3466
3467      _SharingLinkService.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineInjectable"]({
3468        token: _SharingLinkService,
3469        factory: _SharingLinkService.ɵfac,
3470        providedIn: 'root'
3471      });
3472      /***/
3473    },
3474
3475    /***/
3476    49001:
3477    /*!***************************************!*\
3478      !*** ./src/app/core/signing.guard.ts ***!
3479      \***************************************/
3480
3481    /***/
3482    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3483      "use strict";
3484
3485      __webpack_require__.r(__webpack_exports__);
3486      /* harmony export */
3487
3488
3489      __webpack_require__.d(__webpack_exports__, {
3490        /* harmony export */
3491        "SigningGuard": function SigningGuard() {
3492          return (
3493            /* binding */
3494            _SigningGuard
3495          );
3496        }
3497        /* harmony export */
3498
3499      });
3500      /* harmony import */
3501
3502
3503      var _common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
3504      /*! ./common.service */
3505      80150);
3506      /* harmony import */
3507
3508
3509      var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
3510      /*! @angular/core */
3511      37716);
3512      /* harmony import */
3513
3514
3515      var _auth_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
3516      /*! ./auth.service */
3517      87341);
3518      /* harmony import */
3519
3520
3521      var _angular_router__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
3522      /*! @angular/router */
3523      39895);
3524      /* harmony import */
3525
3526
3527      var _msg_io_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
3528      /*! ./msg-io.service */
3529      84468);
3530      /* harmony import */
3531
3532
3533      var _sharing_link_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
3534      /*! ./sharing-link.service */
3535      84157);
3536      /**
3537       * AuthGuard on all /signing pages. Redirects to /signing-auth-redirect if not signed in, redirect to /invalid-link
3538       * if invalid uid or key.
3539       *
3540       * @param uid - extracted from url manually using RegEx
3541       * @param key - extracted from url manually using RegEx
3542       *
3543       */
3544
3545
3546      var _SigningGuard = /*#__PURE__*/function () {
3547        function _SigningGuard(authService, route, router, msgIOService, sharingLinkService) {
3548          _classCallCheck(this, _SigningGuard);
3549
3550          this.authService = authService;
3551          this.route = route;
3552          this.router = router;
3553          this.msgIOService = msgIOService;
3554          this.sharingLinkService = sharingLinkService;
3555          this.maintenance = false;
3556        } // noinspection JSUnusedLocalSymbols
3557
3558
3559        _createClass(_SigningGuard, [{
3560          key: "canActivate",
3561          value: function canActivate(next, state) {
3562            var _this8 = this;
3563
3564            if (this.maintenance) {
3565              this.router.navigate(['/maintenance'])["catch"](function (e) {
3566                return _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e);
3567              });
3568              return false;
3569            } else {
3570              // Regex Extraction of 'uid' and 'key' params
3571              try {
3572                var linkStr = window.location.href;
3573                _SigningGuard.uid = linkStr.match(/uid=([^&]*)/)[1];
3574                _SigningGuard.key = linkStr.match(/key=([^&]*)/)[1];
3575              } catch (error) {
3576                // Displaying alert is not necessary since an error is only thrown when one of the query params is
3577                // missing/invalid = invalid link
3578                this.router.navigate(['/invalid-link'])["catch"](function (error) {
3579                  return _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
3580                });
3581              } // User must be signed in
3582
3583
3584              return this.authService.asyncIsLoggedIn().then(function (isLoggedIn) {
3585                if (!isLoggedIn) {
3586                  _this8.router.navigate(['/signing-auth-redirect'], {
3587                    queryParams: {
3588                      uid: _SigningGuard.uid,
3589                      key: _SigningGuard.key
3590                    }
3591                  })["catch"](function (e) {
3592                    return _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e);
3593                  });
3594
3595                  return false;
3596                } else {
3597                  // Sender must not have previously signed the recipient's virtrolio
3598                  return _this8.sharingLinkService.checkKey(_SigningGuard.uid, _SigningGuard.key).then(function (validKey) {
3599                    if (validKey === false) {
3600                      _this8.router.navigate(['/invalid-link'])["catch"](function (error) {
3601                        return _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
3602                      });
3603
3604                      return false;
3605                    }
3606
3607                    _this8.msgIOService.checkForMessage(_SigningGuard.uid).then(function (signed) {
3608                      if (signed) {
3609                        _this8.router.navigate(['/rejecc'])["catch"](function (error) {
3610                          return _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
3611                        });
3612
3613                        return false;
3614                      } else {
3615                        return true;
3616                      }
3617                    })["catch"](function (error) {
3618                      // Only possibilities for a Firebase error getting thrown:
3619                      // 1. Not logged in
3620                      // 2. Requested message was NOT sent by current user (impossible based on logic of checkMessage()
3621                      // unless someone modifies the source code)
3622                      _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
3623
3624                      _this8.router.navigate(['/signing-auth-redirect'], {
3625                        queryParams: {
3626                          uid: _SigningGuard.uid,
3627                          key: _SigningGuard.key
3628                        }
3629                      })["catch"](function (navError) {
3630                        return _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(navError);
3631                      });
3632                    });
3633
3634                    return true;
3635                  })["catch"](function (error) {
3636                    _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
3637
3638                    _this8.router.navigate(['/invalid-link'])["catch"](function (e) {
3639                      return _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e);
3640                    });
3641
3642                    return false;
3643                  });
3644                }
3645              });
3646            }
3647          }
3648        }]);
3649
3650        return _SigningGuard;
3651      }();
3652
3653      _SigningGuard.uid = 'invalid';
3654      _SigningGuard.key = 'invalid';
3655
3656      _SigningGuard.ɵfac = function SigningGuard_Factory(t) {
3657        return new (t || _SigningGuard)(_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵinject"](_auth_service__WEBPACK_IMPORTED_MODULE_1__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵinject"](_angular_router__WEBPACK_IMPORTED_MODULE_5__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵinject"](_angular_router__WEBPACK_IMPORTED_MODULE_5__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵinject"](_msg_io_service__WEBPACK_IMPORTED_MODULE_2__.MsgIoService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵinject"](_sharing_link_service__WEBPACK_IMPORTED_MODULE_3__.SharingLinkService));
3658      };
3659
3660      _SigningGuard.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineInjectable"]({
3661        token: _SigningGuard,
3662        factory: _SigningGuard.ɵfac,
3663        providedIn: 'root'
3664      });
3665      /***/
3666    },
3667
3668    /***/
3669    89214:
3670    /*!*****************************************!*\
3671      !*** ./src/app/core/signing.service.ts ***!
3672      \*****************************************/
3673
3674    /***/
3675    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3676      "use strict";
3677
3678      __webpack_require__.r(__webpack_exports__);
3679      /* harmony export */
3680
3681
3682      __webpack_require__.d(__webpack_exports__, {
3683        /* harmony export */
3684        "SigningService": function SigningService() {
3685          return (
3686            /* binding */
3687            _SigningService
3688          );
3689        }
3690        /* harmony export */
3691
3692      });
3693      /* harmony import */
3694
3695
3696      var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
3697      /*! @angular/core */
3698      37716);
3699      /* harmony import */
3700
3701
3702      var _msg_io_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
3703      /*! ./msg-io.service */
3704      84468);
3705      /* harmony import */
3706
3707
3708      var _font_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
3709      /*! ./font.service */
3710      87181);
3711      /* harmony import */
3712
3713
3714      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
3715      /*! @angular/platform-browser */
3716      39075);
3717
3718      var _SigningService = /*#__PURE__*/function () {
3719        function _SigningService(sanitizer) {
3720          _classCallCheck(this, _SigningService);
3721
3722          this.sanitizer = sanitizer;
3723          this.fontDict = _font_service__WEBPACK_IMPORTED_MODULE_1__.FontService.FONTS;
3724          this.maxCharCount = _msg_io_service__WEBPACK_IMPORTED_MODULE_0__.MsgIoService.MAX_MSG_LENGTH;
3725        }
3726        /**
3727         * Sets all class variables to their default values
3728         */
3729
3730
3731        _createClass(_SigningService, [{
3732          key: "resetDefaultValues",
3733          value: function resetDefaultValues() {
3734            this.signingBoxText = '';
3735            this.sanitizedText = '';
3736            this.backgroundColor = '#ffffff';
3737            this.textColor = '#000000';
3738            this.canSend = false;
3739            this.charCount = 0;
3740            this.charCountColor = '#bbbbbb';
3741            this.currentFont = 'Arial';
3742            this.currentFontFamily = 'Arial, sans-serif';
3743            this.currentFontDisplay = 'Arial';
3744            this.images = [];
3745            this.imageURLs = [];
3746          }
3747          /**
3748           * @param font - Font selected from dropdown menu
3749           */
3750
3751        }, {
3752          key: "selectFont",
3753          value: function selectFont(font) {
3754            this.currentFont = font;
3755            this.currentFontFamily = font + ',' + this.fontDict[font].backupFont;
3756            this.currentFontDisplay = this.fontDict[font].fontFamily;
3757          }
3758          /**
3759           * Adds markdown formatting characters around selected text within textbox.
3760           * @param textbox - textbox in which user types.
3761           * @param formatChars - formatting character(s) to be placed around the selected text
3762           * @param endChars - Optional - The ending character, if different from the starting character
3763           */
3764
3765        }, {
3766          key: "addFormatting",
3767          value: function addFormatting(textbox, formatChars, endChars) {
3768            var start = textbox.selectionStart;
3769            var end = textbox.selectionEnd;
3770            var text = textbox.value;
3771            var scrollPos = textbox.scrollTop; // If the end character was not provided, we assume it will be the same as the start character
3772
3773            if (typeof endChars === 'undefined' || !endChars) {
3774              endChars = formatChars;
3775            }
3776
3777            textbox.value = this.signingBoxText = text.slice(0, start) + formatChars + text.slice(start, end) + endChars + text.slice(end); // timeout so that it sets the selection range AFTER the textbox is modified
3778
3779            setTimeout(function () {
3780              textbox.focus();
3781              textbox.scrollTop = scrollPos; // special case for underline or if no text was highlighted
3782              // underline should always be on the outside (since it's html instead of markdown)
3783
3784              if (formatChars === '<u>' || start === end) {
3785                textbox.setSelectionRange(start + formatChars.length, end + formatChars.length);
3786              } // otherwise keep the text highlighted
3787              else {
3788                textbox.setSelectionRange(start, end + formatChars.length + endChars.length);
3789              }
3790            }, 0);
3791          }
3792          /**
3793           * Update character count value and text colour
3794           * @param textbox - textbox in which user types.
3795           */
3796
3797        }, {
3798          key: "updateCount",
3799          value: function updateCount(textbox) {
3800            this.sanitizedText = this.sanitizer.sanitize(_angular_core__WEBPACK_IMPORTED_MODULE_2__.SecurityContext.HTML, this.signingBoxText);
3801            this.charCount = this.sanitizedText.length;
3802            this.charCountColor = this.charCount > this.maxCharCount ? '#EE1111' : '#b0b0b0';
3803            this.canSend = 0 < this.charCount && this.charCount <= this.maxCharCount;
3804          }
3805        }]);
3806
3807        return _SigningService;
3808      }();
3809
3810      _SigningService.ɵfac = function SigningService_Factory(t) {
3811        return new (t || _SigningService)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵinject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__.DomSanitizer));
3812      };
3813
3814      _SigningService.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineInjectable"]({
3815        token: _SigningService,
3816        factory: _SigningService.ɵfac,
3817        providedIn: 'root'
3818      });
3819      /***/
3820    },
3821
3822    /***/
3823    66498:
3824    /*!*****************************************!*\
3825      !*** ./src/app/core/storage.service.ts ***!
3826      \*****************************************/
3827
3828    /***/
3829    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3830      "use strict";
3831
3832      __webpack_require__.r(__webpack_exports__);
3833      /* harmony export */
3834
3835
3836      __webpack_require__.d(__webpack_exports__, {
3837        /* harmony export */
3838        "StorageService": function StorageService() {
3839          return (
3840            /* binding */
3841            _StorageService
3842          );
3843        }
3844        /* harmony export */
3845
3846      });
3847      /* harmony import */
3848
3849
3850      var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
3851      /*! tslib */
3852      64762);
3853      /* harmony import */
3854
3855
3856      var uuid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
3857      /*! uuid */
3858      61319);
3859      /* harmony import */
3860
3861
3862      var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
3863      /*! @angular/core */
3864      37716);
3865      /* harmony import */
3866
3867
3868      var _angular_fire_storage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
3869      /*! @angular/fire/storage */
3870      68274);
3871
3872      var _StorageService = /*#__PURE__*/function () {
3873        function _StorageService(storageService) {
3874          _classCallCheck(this, _StorageService);
3875
3876          this.storageService = storageService;
3877        }
3878
3879        _createClass(_StorageService, [{
3880          key: "uploadImages",
3881          value: function uploadImages(messageId, images) {
3882            return (0, tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee20() {
3883              var _this9 = this;
3884
3885              return regeneratorRuntime.wrap(function _callee20$(_context20) {
3886                while (1) {
3887                  switch (_context20.prev = _context20.next) {
3888                    case 0:
3889                      if (!(images.length === 0)) {
3890                        _context20.next = 2;
3891                        break;
3892                      }
3893
3894                      return _context20.abrupt("return", []);
3895
3896                    case 2:
3897                      return _context20.abrupt("return", Promise.all(images.map(function (imageFile) {
3898                        return (0, tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(_this9, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee19() {
3899                          var extension, targetPath, targetStorageRef, uploadTask;
3900                          return regeneratorRuntime.wrap(function _callee19$(_context19) {
3901                            while (1) {
3902                              switch (_context19.prev = _context19.next) {
3903                                case 0:
3904                                  extension = _StorageService.getFileExtension(imageFile);
3905                                  targetPath = _StorageService.generatePath(messageId, extension);
3906                                  targetStorageRef = this.storageService.ref(targetPath);
3907                                  uploadTask = targetStorageRef.put(imageFile); // Wait for the upload to complete
3908
3909                                  _context19.next = 6;
3910                                  return uploadTask.snapshotChanges().toPromise();
3911
3912                                case 6:
3913                                  return _context19.abrupt("return", targetPath);
3914
3915                                case 7:
3916                                case "end":
3917                                  return _context19.stop();
3918                              }
3919                            }
3920                          }, _callee19, this);
3921                        }));
3922                      })));
3923
3924                    case 3:
3925                    case "end":
3926                      return _context20.stop();
3927                  }
3928                }
3929              }, _callee20);
3930            }));
3931          }
3932          /**
3933           * Delete all files in the folder provided.
3934           *
3935           * @param folderPath - The folder to delete.
3936           */
3937
3938        }, {
3939          key: "deleteFiles",
3940          value: function deleteFiles(folderPath) {
3941            return (0, tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee21() {
3942              return regeneratorRuntime.wrap(function _callee21$(_context21) {
3943                while (1) {
3944                  switch (_context21.prev = _context21.next) {
3945                    case 0:
3946                      this.storageService.ref(folderPath).listAll().toPromise().then(function (res) {
3947                        return res.items.forEach(function (file) {
3948                          return file["delete"]();
3949                        });
3950                      });
3951
3952                    case 1:
3953                    case "end":
3954                      return _context21.stop();
3955                  }
3956                }
3957              }, _callee21, this);
3958            }));
3959          }
3960        }], [{
3961          key: "getFileExtension",
3962          value: function getFileExtension(file) {
3963            return file.name.split('.').pop();
3964          }
3965        }, {
3966          key: "generatePath",
3967          value: function generatePath(messageId, extension) {
3968            return "".concat(_StorageService.MESSAGE_IMG_BASE_PATH, "/").concat(messageId, "/").concat((0, uuid__WEBPACK_IMPORTED_MODULE_0__["default"])(), ".").concat(extension);
3969          }
3970        }]);
3971
3972        return _StorageService;
3973      }();
3974
3975      _StorageService.MESSAGE_IMG_BASE_PATH = 'messages';
3976
3977      _StorageService.ɵfac = function StorageService_Factory(t) {
3978        return new (t || _StorageService)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵinject"](_angular_fire_storage__WEBPACK_IMPORTED_MODULE_3__.AngularFireStorage));
3979      };
3980
3981      _StorageService.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineInjectable"]({
3982        token: _StorageService,
3983        factory: _StorageService.ɵfac,
3984        providedIn: 'root'
3985      });
3986      /***/
3987    },
3988
3989    /***/
3990    91225:
3991    /*!*****************************************!*\
3992      !*** ./src/app/core/viewing.service.ts ***!
3993      \*****************************************/
3994
3995    /***/
3996    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3997      "use strict";
3998
3999      __webpack_require__.r(__webpack_exports__);
4000      /* harmony export */
4001
4002
4003      __webpack_require__.d(__webpack_exports__, {
4004        /* harmony export */
4005        "ViewingService": function ViewingService() {
4006          return (
4007            /* binding */
4008            _ViewingService
4009          );
4010        }
4011        /* harmony export */
4012
4013      });
4014      /* harmony import */
4015
4016
4017      var _font_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
4018      /*! ./font.service */
4019      87181);
4020      /* harmony import */
4021
4022
4023      var _common_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
4024      /*! ./common.service */
4025      80150);
4026      /* harmony import */
4027
4028
4029      var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
4030      /*! @angular/core */
4031      37716);
4032      /* harmony import */
4033
4034
4035      var _msg_io_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
4036      /*! ./msg-io.service */
4037      84468);
4038      /* harmony import */
4039
4040
4041      var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
4042      /*! @angular/router */
4043      39895);
4044      /* harmony import */
4045
4046
4047      var _angular_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
4048      /*! @angular/common */
4049      38583);
4050      /* harmony import */
4051
4052
4053      var ngx_toastr__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
4054      /*! ngx-toastr */
4055      49344);
4056
4057      var _ViewingService = /*#__PURE__*/function () {
4058        /**
4059         * Retrieve message data from database
4060         */
4061        function _ViewingService(msgIo, route, router, vps, toastr) {
4062          _classCallCheck(this, _ViewingService);
4063
4064          this.msgIo = msgIo;
4065          this.route = route;
4066          this.router = router;
4067          this.vps = vps;
4068          this.toastr = toastr;
4069          this.isCarouselView = false;
4070          this.fonts = _font_service__WEBPACK_IMPORTED_MODULE_0__.FontService.FONTS;
4071        }
4072
4073        _createClass(_ViewingService, [{
4074          key: "getMessageById",
4075          value: function getMessageById(id) {
4076            var _this10 = this;
4077
4078            this.msgIo.getMessage(id).subscribe(function (message) {
4079              _this10.singleMessage = message;
4080            });
4081          }
4082        }, {
4083          key: "decodeHtml",
4084          value: function decodeHtml(html) {
4085            var txt = document.createElement('textarea');
4086            txt.innerHTML = html;
4087            return txt.value;
4088          }
4089          /**
4090           * Format the timestamp depending on how much time as elapsed
4091           * @param nowMillis time in milliseconds upon ngOnInit()
4092           * @param millis message Timestamp in milliseconds
4093           * @param date message Timestamp as a date
4094           */
4095
4096        }, {
4097          key: "timeSince",
4098          value: function timeSince(nowMillis, millis, date) {
4099            var secondsPast = (nowMillis - millis) / 1000;
4100
4101            if (secondsPast < 1) {
4102              return 'Just now';
4103            }
4104
4105            if (secondsPast < 60) {
4106              return Math.round(secondsPast).toString() + 's ago';
4107            }
4108
4109            if (secondsPast < 3600) {
4110              return Math.round(secondsPast / 60).toString() + 'm ago';
4111            }
4112
4113            if (secondsPast < 86400) {
4114              return Math.round(secondsPast / 3600).toString() + 'h ago';
4115            }
4116
4117            if (secondsPast <= 172800) {
4118              return '1 day ago';
4119            }
4120
4121            if (secondsPast <= 604800) {
4122              return Math.round(secondsPast / 86400).toString() + ' days ago';
4123            }
4124
4125            if (secondsPast > 604800) {
4126              // Return the full date if the Timestamp is past a week ago
4127              return date;
4128            }
4129          }
4130          /**
4131           * Format the timestamp depending on how much time as elapsed
4132           * @param date message Timestamp as a date
4133           */
4134
4135        }, {
4136          key: "getDateSent",
4137          value: function getDateSent(date) {
4138            return date;
4139          }
4140          /**
4141           * When you click 'x' on a message, messageToDelete will be assigned the value of that message's id
4142           * @param mID message id
4143           */
4144
4145        }, {
4146          key: "setMessageToDelete",
4147          value: function setMessageToDelete(mID) {
4148            this.messageToDelete = mID;
4149          }
4150          /**
4151           * Wrapper around deleteMessage()
4152           */
4153
4154        }, {
4155          key: "deleteMessage",
4156          value: function deleteMessage() {
4157            var _this11 = this;
4158
4159            this.msgIo.deleteMessage(this.messageToDelete).then(function () {
4160              _this11.toastr.success('Message deleted successfully', 'Poof!', {
4161                positionClass: 'toast-bottom-full-width'
4162              });
4163            })["catch"](function (e) {
4164              _common_service__WEBPACK_IMPORTED_MODULE_1__.CommonService.displayError(e);
4165            });
4166          }
4167          /**
4168           * Append messageId query params to the url
4169           * @param id messageId
4170           */
4171
4172        }, {
4173          key: "bookmarkMessage",
4174          value: function bookmarkMessage(id) {}
4175        }]);
4176
4177        return _ViewingService;
4178      }();
4179
4180      _ViewingService.ɵfac = function ViewingService_Factory(t) {
4181        return new (t || _ViewingService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_msg_io_service__WEBPACK_IMPORTED_MODULE_2__.MsgIoService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_angular_router__WEBPACK_IMPORTED_MODULE_4__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_angular_router__WEBPACK_IMPORTED_MODULE_4__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_angular_common__WEBPACK_IMPORTED_MODULE_5__.Vie
4181wportScroller), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](ngx_toastr__WEBPACK_IMPORTED_MODULE_6__.ToastrService));
4182      };
4183
4184      _ViewingService.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineInjectable"]({
4185        token: _ViewingService,
4186        factory: _ViewingService.ɵfac,
4187        providedIn: 'root'
4188      });
4189      /***/
4190    },
4191
4192    /***/
4193    73794:
4194    /*!************************************************!*\
4195      !*** ./src/app/pages/about/about.component.ts ***!
4196      \************************************************/
4197
4198    /***/
4199    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4200      "use strict";
4201
4202      __webpack_require__.r(__webpack_exports__);
4203      /* harmony export */
4204
4205
4206      __webpack_require__.d(__webpack_exports__, {
4207        /* harmony export */
4208        "AboutComponent": function AboutComponent() {
4209          return (
4210            /* binding */
4211            _AboutComponent
4212          );
4213        }
4214        /* harmony export */
4215
4216      });
4217      /* harmony import */
4218
4219
4220      var _contributors_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
4221      /*! ./contributors.json */
4222      53679);
4223      /* harmony import */
4224
4225
4226      var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
4227      /*! @angular/core */
4228      37716);
4229      /* harmony import */
4230
4231
4232      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
4233      /*! @angular/platform-browser */
4234      39075);
4235      /* harmony import */
4236
4237
4238      var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
4239      /*! @angular/router */
4240      39895);
4241      /* harmony import */
4242
4243
4244      var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
4245      /*! @angular/common */
4246      38583);
4247
4248      function AboutComponent_div_39_div_14_Template(rf, ctx) {
4249        if (rf & 1) {
4250          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div");
4251
4252          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](1, " GitHub: ");
4253
4254          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "a", 24);
4255
4256          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](3);
4257
4258          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4259
4260          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4261        }
4262
4263        if (rf & 2) {
4264          var contributor_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]().$implicit;
4265
4266          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2);
4267
4268          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate1"]("href", "https://github.com/", contributor_r1.social.github, "", _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]);
4269
4270          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
4271
4272          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate"](contributor_r1.social.github);
4273        }
4274      }
4275
4276      function AboutComponent_div_39_div_15_a_2_Template(rf, ctx) {
4277        if (rf & 1) {
4278          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "a", 24);
4279
4280          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](1);
4281
4282          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4283        }
4284
4285        if (rf & 2) {
4286          var contributor_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"](2).$implicit;
4287
4288          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate1"]("href", "https://www.instagram.com/", contributor_r1.social.instagram, "", _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]);
4289
4290          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
4291
4292          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"]("@", contributor_r1.social.instagram, "");
4293        }
4294      }
4295
4296      function AboutComponent_div_39_div_15_Template(rf, ctx) {
4297        if (rf & 1) {
4298          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div");
4299
4300          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](1, " Instagram: ");
4301
4302          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](2, AboutComponent_div_39_div_15_a_2_Template, 2, 2, "a", 27);
4303
4304          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4305        }
4306
4307        if (rf & 2) {
4308          var contributor_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]().$implicit;
4309
4310          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2);
4311
4312          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", contributor_r1.social.instagram);
4313        }
4314      }
4315
4316      function AboutComponent_div_39_div_16_Template(rf, ctx) {
4317        if (rf & 1) {
4318          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div");
4319
4320          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](1, " LinkedIn: ");
4321
4322          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "a", 24);
4323
4324          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](3);
4325
4326          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4327
4328          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4329        }
4330
4331        if (rf & 2) {
4332          var contributor_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]().$implicit;
4333
4334          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2);
4335
4336          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate"]("href", contributor_r1.social.linkedIn, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]);
4337
4338          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
4339
4340          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate"](contributor_r1.name);
4341        }
4342      }
4343
4344      function AboutComponent_div_39_div_17_Template(rf, ctx) {
4345        if (rf & 1) {
4346          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div");
4347
4348          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](1, " Website: ");
4349
4350          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "a", 24);
4351
4352          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](3);
4353
4354          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4355
4356          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4357        }
4358
4359        if (rf & 2) {
4360          var contributor_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]().$implicit;
4361
4362          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2);
4363
4364          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate1"]("href", "https://", contributor_r1.social.website, "", _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]);
4365
4366          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
4367
4368          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate"](contributor_r1.social.website);
4369        }
4370      }
4371
4372      function AboutComponent_div_39_Template(rf, ctx) {
4373        if (rf & 1) {
4374          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div");
4375
4376          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "div", 18);
4377
4378          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "div", 19);
4379
4380          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](3, "img", 20);
4381
4382          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](4, "img", 21);
4383
4384          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4385
4386          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](5, "div", 22);
4387
4388          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](6, "p", 23);
4389
4390          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](7, "p", 5);
4391
4392          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](8, "a", 24);
4393
4394          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](9);
4395
4396          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4397
4398          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4399
4400          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4401
4402          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](10, "div", 25);
4403
4404          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](11, "p");
4405
4406          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](12, "strong");
4407
4408          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](13);
4409
4410          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4411
4412          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4413
4414          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](14, AboutComponent_div_39_div_14_Template, 4, 2, "div", 26);
4415
4416          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](15, AboutComponent_div_39_div_15_Template, 3, 1, "div", 26);
4417
4418          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](16, AboutComponent_div_39_div_16_Template, 4, 2, "div", 26);
4419
4420          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](17, AboutComponent_div_39_div_17_Template, 4, 2, "div", 26);
4421
4422          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4423
4424          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4425
4426          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](18, "hr");
4427
4428          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4429        }
4430
4431        if (rf & 2) {
4432          var contributor_r1 = ctx.$implicit;
4433
4434          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](3);
4435
4436          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate1"]("alt", "Picture of ", contributor_r1.name, "");
4437
4438          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate"]("src", contributor_r1.images.regular, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]);
4439
4440          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
4441
4442          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate1"]("alt", "Silly picture of ", contributor_r1.name, "");
4443
4444          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate"]("src", contributor_r1.images.silly, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]);
4445
4446          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2);
4447
4448          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("innerHTML", contributor_r1.blurb, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeHtml"]);
4449
4450          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2);
4451
4452          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate"]("href", contributor_r1.sharingLink, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]);
4453
4454          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
4455
4456          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"]("Click here to sign ", contributor_r1.name, "'s virtrolio.");
4457
4458          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](4);
4459
4460          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"]("Contact ", contributor_r1.name, "");
4461
4462          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
4463
4464          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", contributor_r1.social.github);
4465
4466          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
4467
4468          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", contributor_r1.social.instagram);
4469
4470          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
4471
4472          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", contributor_r1.social.linkedIn);
4473
4474          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
4475
4476          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", contributor_r1.social.website);
4477        }
4478      }
4479      /**
4480       * About component, with a short blurb at the top and a row for each contributor.
4481       */
4482
4483
4484      var _AboutComponent = /*#__PURE__*/function () {
4485        function _AboutComponent(title) {
4486          _classCallCheck(this, _AboutComponent);
4487
4488          this.title = title;
4489          this.contributors = _contributors_json__WEBPACK_IMPORTED_MODULE_0__;
4490        }
4491
4492        _createClass(_AboutComponent, [{
4493          key: "ngOnInit",
4494          value: function ngOnInit() {
4495            this.title.setTitle('About Us | Virtrolio');
4496          }
4497        }]);
4498
4499        return _AboutComponent;
4500      }();
4501
4502      _AboutComponent.ɵfac = function AboutComponent_Factory(t) {
4503        return new (t || _AboutComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__.Title));
4504      };
4505
4506      _AboutComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({
4507        type: _AboutComponent,
4508        selectors: [["app-about"]],
4509        decls: 40,
4510        vars: 1,
4511        consts: [[1, "pt-5", "container"], [1, "about-us-section"], [1, "row"], [1, "col-12", "col-lg-8"], [1, "mb-3", "header-text"], [1, "about-us-body"], ["routerLink", "/contact"], ["href", "https://bit.ly/virtrolioYouT00b", "target", "_blank"], ["href", "/signing?uid=6sXs48Uwj3ZSPX7JUPsuvdosfRm1&key=VirtrolioTeam"], [1, "col-4", "d-none", "d-lg-block"], [1, "vertical-center", "about-us-img-container"], ["alt", "About us illustration", "src", "../../../assets/images/about.svg", 1, "about-us-img"], [1, "row", "mt-3", "mt-lg-5"], [1, "vertical-center", "about-us-img-container", "p-5"], ["alt", "About us illustration", "src", "../../../assets/images/charity.svg", 1, "about-us-img"], ["href", "https://www.who.int/emergencie
4511s/diseases/novel-coronavirus-2019/donate", "target", "_blank"], [1, "col-12"], [4, "ngFor", "ngForOf"], [1, "row", "d-flex", "my-2"], [1, "col-md-2", "order-md-2", "image-container", "vertical-center"], [1, "img-fluid", "regular-picture", 3, "alt", "src"], [1, "img-fluid", "silly-picture", 3, "alt", "src"], [1, "col-md-7", "order-md-3", "mt-3", "mt-md-0", "vertical-center"], [1, "text-justify", "about-us-body", 3, "innerHTML"], ["target", "_blank", 3, "href"], [1, "col-md-3", "order-md-1"], [4, "ngIf"], ["target", "_blank", 3, "href", 4, "ngIf"]],
4512        template: function AboutComponent_Template(rf, ctx) {
4513          if (rf & 1) {
4514            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 0);
4515
4516            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "div", 1);
4517
4518            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "div", 2);
4519
4520            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](3, "div", 3);
4521
4522            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](4, "h1", 4);
4523
4524            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](5, "About us");
4525
4526            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4527
4528            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](6, "p", 5);
4529
4530            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](7, " We\u2019re a group of undergraduate university students who remember exactly what it was like back in high school (at The Woodlands Secondary School, to be exact, woot woot), and we especially remember what those last few months of senior year meant to many of us. With the COVID-19 pandemic leading to lockdowns and social distancing, we wanted to create an alternative way for graduating students (and others!) to be able to send each other messages in a medium that they can cherish with them as they continue on in their journeys. ");
4531
4532            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](8, "br");
4533
4534            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](9, "br");
4535
4536            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](10, " Want to get in touch with us? Visit the ");
4537
4538            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](11, "a", 6);
4539
4540            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](12, "Contact Us");
4541
4542            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4543
4544            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](13, " page or check out our ");
4545
4546            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](14, "a", 7);
4547
4548            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](15, "YouTube channel");
4549
4550            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4551
4552            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](16, ". You can also sign the team's virtrolio by ");
4553
4554            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](17, "a", 8);
4555
4556            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](18, " clicking here");
4557
4558            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4559
4560            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](19, ". ");
4561
4562            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4563
4564            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4565
4566            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](20, "div", 9);
4567
4568            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](21, "div", 10);
4569
4570            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](22, "img", 11);
4571
4572            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4573
4574            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4575
4576            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4577
4578            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](23, "div", 12);
4579
4580            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](24, "div", 9);
4581
4582            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](25, "div", 13);
4583
4584            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](26, "img", 14);
4585
4586            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4587
4588            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4589
4590            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](27, "div", 3);
4591
4592            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](28, "h3", 4);
4593
4594            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](29, "Charity");
4595
4596            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4597
4598            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](30, "p", 5);
4599
4600            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](31, " COVID-19 has affected people around the world and it has created problems far more pressing than an absence of yearbook signing. With this in mind, Virtrolio has decided to donate 5 cents for each of the first 2000 Virtrolio accounts created between June 15th, 2021 and June 29th, 2021 to the ");
4601
4602            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](32, "a", 15);
4603
4604            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](33, "COVID-19 Solidarity Response Fund");
4605
4606            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4607
4608            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](34, ". We personally guarantee that we will pay the full amount for the first 2000 accounts created in this period and if funds are available, we will try to match this amount for the next 1000 accounts. Thank y
4608ou for your support. ");
4609
4610            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4611
4612            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4613
4614            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4615
4616            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](35, "div", 12);
4617
4618            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](36, "div", 16);
4619
4620            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](37, "h3", 4);
4621
4622            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](38, "Meet the Team!");
4623
4624            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4625
4626            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](39, AboutComponent_div_39_Template, 19, 12, "div", 17);
4627
4628            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4629
4630            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4631
4632            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4633
4634            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4635          }
4636
4637          if (rf & 2) {
4638            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](39);
4639
4640            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngForOf", ctx.contributors);
4641          }
4642        },
4643        directives: [_angular_router__WEBPACK_IMPORTED_MODULE_3__.RouterLinkWithHref, _angular_common__WEBPACK_IMPORTED_MODULE_4__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_4__.NgIf],
4644        styles: ["#title[_ngcontent-%COMP%] {\n  text-align: center;\n  font-size: 5em;\n}\n\n#title-blurb[_ngcontent-%COMP%] {\n  border-left: 3px solid var(--accent);\n  padding-left: 2em;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n  #title-blurb[_ngcontent-%COMP%] {\n    border-left: none;\n    padding-left: 0;\n  }\n}\n\n#meet-the-team-title[_ngcontent-%COMP%] {\n  text-align: center;\n}\n\n.jumbotron[_ngcontent-%COMP%] {\n  padding-top: 2em;\n  padding-bottom: 0;\n}\n\n.regular-picture[_ngcontent-%COMP%]:hover {\n  opacity: 0;\n}\n\n.regular-picture[_ngcontent-%COMP%] {\n  z-index: 0;\n  width: 100%;\n}\n\n.silly-picture[_ngcontent-%COMP%] {\n  position: absolute;\n  z-index: -1;\n  width: 100%;\n}\n\n.image-container[_ngcontent-%COMP%] {\n  padding: 0;\n  overflow: hidden;\n}\n\n.image-container[_ngcontent-%COMP%], .image-container[_ngcontent-%COMP%]    > img[_ngcontent-%COMP%] {\n  overflow: hidden !important;\n}\n\nul[_ngcontent-%COMP%] {\n  word-break: break-word;\n}\n\n#special[_ngcontent-%COMP%] {\n  flex-direction: row !important;\n}\n\n.about-us-img[_ngcontent-%COMP%] {\n  width: 100%;\n}\n\n.about-us-img-container[_ngcontent-%COMP%] {\n  height: 100%;\n}\n\n.about-us-body[_ngcontent-%COMP%] {\n  font-family: 'Roboto', sans-serif;\n  font-size: 1em;\n  text-align: justify;\n}\n\n.contact-list[_ngcontent-%COMP%] {\n  list-style-type: none;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFib3V0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUJBQXFCOztBQUVyQjtFQUNFLGtCQUFrQjtFQUNsQixjQUFjO0FBQ2hCOztBQUVBO0VBQ0Usb0NBQW9DO0VBQ3BDLGlCQUFpQjtBQUNuQjs7QUFFQSxXQUFXOztBQUNYO0VBQ0U7SUFDRSxpQkFBaUI7SUFDakIsZUFBZTtFQUNqQjtBQUNGOztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLFVBQVU7
4644RUFDVixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFVBQVU7RUFDVixnQkFBZ0I7QUFDbEI7O0FBRUE7O0VBRUUsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0Usc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UsOEJBQThCO0FBQ2hDOztBQUVBO0VBQ0UsV0FBVztBQUNiOztBQUVBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsaUNBQWlDO0VBQ2pDLGNBQWM7RUFDZCxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxxQkFBcUI7QUFDdkIiLCJmaWxlIjoiYWJvdXQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHx8IFRpdGxlIGNvbnRlbnQgKi9cblxuI3RpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDVlbTtcbn1cblxuI3RpdGxlLWJsdXJiIHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1hY2NlbnQpO1xuICBwYWRkaW5nLWxlZnQ6IDJlbTtcbn1cblxuLyogTW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICN0aXRsZS1ibHVyYiB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbiNtZWV0LXRoZS10ZWFtLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uanVtYm90cm9uIHtcbiAgcGFkZGluZy10b3A6IDJlbTtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5yZWd1bGFyLXBpY3R1cmU6aG92ZXIge1xuICBvcGFjaXR5OiAwO1xufVxuXG4ucmVndWxhci1waWN0dXJlIHtcbiAgei1pbmRleDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWxseS1waWN0dXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5pbWFnZS1jb250YWluZXIge1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaW1hZ2UtY29udGFpbmVyLFxuLmltYWdlLWNvbnRhaW5lciA+IGltZyB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxudWwge1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4jc3BlY2lhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbn1cblxuLmFib3V0LXVzLWltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWJvdXQtdXMtaW1nLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmFib3V0LXVzLWJvZHkge1xuICBmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG4uY29udGFjdC1saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuIl19 */"]
4645      });
4646      /***/
4647    },
4648
4649    /***/
4650    40970:
4651    /*!**************************************************************************!*\
4652      !*** ./src/app/pages/access-denied-beta/access-denied-beta.component.ts ***!
4653      \**************************************************************************/
4654
4655    /***/
4656    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4657      "use strict";
4658
4659      __webpack_require__.r(__webpack_exports__);
4660      /* harmony export */
4661
4662
4663      __webpack_require__.d(__webpack_exports__, {
4664        /* harmony export */
4665        "AccessDeniedBetaComponent": function AccessDeniedBetaComponent() {
4666          return (
4667            /* binding */
4668            _AccessDeniedBetaComponent
4669          );
4670        }
4671        /* harmony export */
4672
4673      });
4674      /* harmony import */
4675
4676
4677      var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
4678      /*! @angular/core */
4679      37716);
4680      /* harmony import */
4681
4682
4683      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
4684      /*! @angular/platform-browser */
4685      39075);
4686      /* harmony import */
4687
4688
4689      var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
4690      /*! @angular/router */
4691      39895);
4692
4693      var _AccessDeniedBetaComponent = /*#__PURE__*/function () {
4694        function _AccessDeniedBetaComponent(title) {
4695          _classCallCheck(this, _AccessDeniedBetaComponent);
4696
4697          this.title = title;
4698        }
4699
4700        _createClass(_AccessDeniedBetaComponent, [{
4701          key: "ngOnInit",
4702          value: function ngOnInit() {
4703            this.title.setTitle('Beta Website Access Denied | Virtrolio');
4704          }
4705        }]);
4706
4707        return _AccessDeniedBetaComponent;
4708      }();
4709
4710      _AccessDeniedBetaComponent.ɵfac = function AccessDeniedBetaComponent_Factory(t) {
4711        return new (t || _AccessDeniedBetaComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title));
4712      };
4713
4714      _AccessDeniedBetaComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({
4715        type: _AccessDeniedBetaComponent,
4716        selectors: [["app-access-denied-beta"]],
4717        decls: 25,
4718        vars: 0,
4719        consts: [[1, "container", "vertical-center", "montserrat", "align-items-center"], [1, "row", "mx-3", "mt-3"], [1, "display-text"], [1, "row", "mx-3", "col-md-7", "justify-content-center"], [1, "display-body-text"], ["href", "https://virtrolio.web.app"], [1, "row", "justify-content-center", "mx-3", "mt-3"], ["alt", "Padlock graphic", "id", "graphic", "src", "../../../assets/images/AccessDenied.svg"], [1, "row", "justify-content-center", "mt-5", "mb-3"], ["role", "button", "href", "https://virtrolio.web.app", 1, "btn", "btn-lg", "btn-primary", "mt-3", "mx-3"], ["routerLink", "", 1, "btn", "btn-lg", "btn-secondary", "mt-3"]],
4720        template: function AccessDeniedBetaComponent_Template(rf, ctx) {
4721          if (rf & 1) {
4722            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
4723
4724            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1);
4725
4726            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "h1", 2);
4727
4728            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3, "Access Denied - Not a Beta Tester");
4729
4730            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4731
4732            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4733
4734            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 3);
4735
4736            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "p", 4);
4737
4738            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](6, " Oops! You tried to login to the beta website, but you aren't a beta tester! ");
4739
4740            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4741
4742            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "p", 4);
4743
4744            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](8, "strong");
4745
4746            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](9, "If you are not a beta tester, please ");
4747
4748            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](10, "a", 5);
4749
4750            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](11, " click here");
4751
4752            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4753
4754            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](12, " to use the public website.");
4755
4756            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4757
4758            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4759
4760            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](13, "p", 4);
4761
4762            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](14, " If you ");
4763
4764            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](15, "strong");
4765
4766            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](16, "are");
4767
4768            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4769
4770            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](17, " a beta tester and are seeing this message, please follow the instructions in the #instructions channel in the Beta Tester Discord to gain access. Message a Software Developer if you continue to experience problems. ");
4771
4772            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4773
4774            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4775
4776            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](18, "div", 6);
4777
4778            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](19, "img", 7);
4779
4780            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4781
4782            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](20, "div", 8);
4783
4784            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](21, "a", 9);
4785
4786            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](22, "Go to the Public Website");
4787
4788            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4789
4790            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](23, "button", 10);
4791
4792            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](24, " Back to Beta Website ");
4793
4794            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4795
4796            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4797
4798            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4799          }
4800        },
4801        directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink],
4802        styles: ["#graphic[_ngcontent-%COMP%] {\n  height: 10em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n  font-size: 2.5em;
4802\n  text-align: center;\n}\n\n.subtitle-text[_ngcontent-%COMP%] {\n  font-size: large;\n  text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n  #graphic[_ngcontent-%COMP%] {\n    height: 5em;\n  }\n\n  #title-text[_ngcontent-%COMP%] {\n    font-size: 2em;\n  }\n\n  #subtitle-text[_ngcontent-%COMP%] {\n    font-size: 1em;\n  }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFjY2Vzcy1kZW5pZWQtYmV0YS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7O0FBRUEsV0FBVzs7QUFDWDtFQUNFO0lBQ0UsV0FBVztFQUNiOztFQUVBO0lBQ0UsY0FBYztFQUNoQjs7RUFFQTtJQUNFLGNBQWM7RUFDaEI7QUFDRiIsImZpbGUiOiJhY2Nlc3MtZGVuaWVkLWJldGEuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNncmFwaGljIHtcbiAgaGVpZ2h0OiAxMGVtO1xufVxuXG4jdGl0bGUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMi41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnN1YnRpdGxlLXRleHQge1xuICBmb250LXNpemU6IGxhcmdlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjZ3JhcGhpYyB7XG4gICAgaGVpZ2h0OiA1ZW07XG4gIH1cblxuICAjdGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gIH1cblxuICAjc3VidGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn1cbiJdfQ== */"]
4803      });
4804      /***/
4805    },
4806
4807    /***/
4808    91452:
4809    /*!****************************************************************!*\
4810      !*** ./src/app/pages/access-denied/access-denied.component.ts ***!
4811      \****************************************************************/
4812
4813    /***/
4814    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4815      "use strict";
4816
4817      __webpack_require__.r(__webpack_exports__);
4818      /* harmony export */
4819
4820
4821      __webpack_require__.d(__webpack_exports__, {
4822        /* harmony export */
4823        "AccessDeniedComponent": function AccessDeniedComponent() {
4824          return (
4825            /* binding */
4826            _AccessDeniedComponent
4827          );
4828        }
4829        /* harmony export */
4830
4831      });
4832      /* harmony import */
4833
4834
4835      var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
4836      /*! @angular/core */
4837      37716);
4838      /* harmony import */
4839
4840
4841      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
4842      /*! @angular/platform-browser */
4843      39075);
4844      /* harmony import */
4845
4846
4847      var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
4848      /*! @angular/router */
4849      39895);
4850
4851      var _AccessDeniedComponent = /*#__PURE__*/function () {
4852        function _AccessDeniedComponent(title) {
4853          _classCallCheck(this, _AccessDeniedComponent);
4854
4855          this.title = title;
4856        }
4857
4858        _createClass(_AccessDeniedComponent, [{
4859          key: "ngOnInit",
4860          value: function ngOnInit() {
4861            this.title.setTitle('Access Denied | Virtrolio');
4862          }
4863        }]);
4864
4865        return _AccessDeniedComponent;
4866      }();
4867
4868      _AccessDeniedComponent.ɵfac = function AccessDeniedComponent_Factory(t) {
4869        return new (t || _AccessDeniedComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title));
4870      };
4871
4872      _AccessDeniedComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({
4873        type: _AccessDeniedComponent,
4874        selectors: [["app-access-denied"]],
4875        decls: 17,
4876        vars: 0,
4877        consts: [[1, "container", "vertical-center", "montserrat", "align-items-center"], [1, "row", "mx-3", "mt-3"], [1, "display-text"], [1, "row", "mx-3", "col-md-7"], [1, "display-body-text"], ["routerLink", "/"], [1, "row", "justify-content-center", "mx-3", "mt-3"], ["alt", "Padlock graphic", "id", "graphic", "src", "../../../assets/images/AccessDenied.svg"], [1, "row", "justify-content-center", "my-3"], ["routerLink", "", 1, "btn-lg", "btn-primary", "mt-5"]],
4878        template: function AccessDeniedComponent_Template(rf, ctx) {
4879          if (rf & 1) {
4880            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
4881
4882            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1);
4883
4884            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "h1", 2);
4885
4886            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3, "Access Denied");
4887
4888            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4889
4890            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4891
4892            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 3);
4893
4894            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "p", 4);
4895
4896            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](6, " You may be trying to access a page you need to be logged in for! Please go to our ");
4897
4898            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "a", 5);
4899
4900            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, "home page");
4901
4902            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4903
4904            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](9, " and sign in from there. ");
4905
4906            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4907
4908            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](10, "p", 4);
4909
4910            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](11, " If you are signed in and you are still seeing this message, then you may be trying to access a web page that you shouldn't be allowed to visit whenever you want. Sorry! ");
4911
4912            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4913
4914            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4915
4916            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](12, "div", 6);
4917
4918            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](13, "img", 7);
4919
4920            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4921
4922            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](14, "div", 8);
4923
4924            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](15, "button", 9);
4925
4926            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](16, "Back to Home");
4927
4928            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4929
4930            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4931
4932            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
4933          }
4934        },
4935        directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLinkWithHref, _angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink],
4936        styles: ["#graphic[_ngcontent-%COMP%] {\n  height: 10em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n  font-size: 2.5em;
4936\n  text-align: center;\n}\n\n.subtitle-text[_ngcontent-%COMP%] {\n  font-size: large;\n  text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n  #graphic[_ngcontent-%COMP%] {\n    height: 5em;\n  }\n\n  #title-text[_ngcontent-%COMP%] {\n    font-size: 2em;\n  }\n\n  #subtitle-text[_ngcontent-%COMP%] {\n    font-size: 1em;\n  }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFjY2Vzcy1kZW5pZWQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFlBQVk7QUFDZDs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsa0JBQWtCO0FBQ3BCOztBQUVBLFdBQVc7O0FBQ1g7RUFDRTtJQUNFLFdBQVc7RUFDYjs7RUFFQTtJQUNFLGNBQWM7RUFDaEI7O0VBRUE7SUFDRSxjQUFjO0VBQ2hCO0FBQ0YiLCJmaWxlIjoiYWNjZXNzLWRlbmllZC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI2dyYXBoaWMge1xuICBoZWlnaHQ6IDEwZW07XG59XG5cbiN0aXRsZS10ZXh0IHtcbiAgZm9udC1zaXplOiAyLjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc3VidGl0bGUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogbGFyZ2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogTW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNncmFwaGljIHtcbiAgICBoZWlnaHQ6IDVlbTtcbiAgfVxuXG4gICN0aXRsZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgfVxuXG4gICNzdWJ0aXRsZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxufVxuIl19 */"]
4937      });
4938      /***/
4939    },
4940
4941    /***/
4942    45996:
4943    /*!****************************************************!*\
4944      !*** ./src/app/pages/contact/contact.component.ts ***!
4945      \****************************************************/
4946
4947    /***/
4948    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4949      "use strict";
4950
4951      __webpack_require__.r(__webpack_exports__);
4952      /* harmony export */
4953
4954
4955      __webpack_require__.d(__webpack_exports__, {
4956        /* harmony export */
4957        "ContactComponent": function ContactComponent() {
4958          return (
4959            /* binding */
4960            _ContactComponent
4961          );
4962        }
4963        /* harmony export */
4964
4965      });
4966      /* harmony import */
4967
4968
4969      var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
4970      /*! @angular/core */
4971      37716);
4972      /* harmony import */
4973
4974
4975      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
4976      /*! @angular/platform-browser */
4977      39075);
4978
4979      var _ContactComponent = /*#__PURE__*/function () {
4980        function _ContactComponent(title) {
4981          _classCallCheck(this, _ContactComponent);
4982
4983          this.title = title;
4984        }
4985
4986        _createClass(_ContactComponent, [{
4987          key: "ngOnInit",
4988          value: function ngOnInit() {
4989            this.title.setTitle('Contact Us | Virtrolio');
4990          }
4991        }]);
4992
4993        return _ContactComponent;
4994      }();
4995
4996      _ContactComponent.ɵfac = function ContactComponent_Factory(t) {
4997        return new (t || _ContactComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title));
4998      };
4999
5000      _ContactComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({
5001        type: _ContactComponent,
5002        selectors: [["app-contact"]],
5003        decls: 37,
5004        vars: 0,
5005        consts: [[1, "pt-5", "container"], [1, "mb-3", "header-text"], [1, "row", "body-text"], [1, "col-12", "col-lg-6"], ["href", "https://github.com/virtrolio/virtrolio-site/issues/new", "target", "_blank"], ["href", "mailto:[email protected]", "target", "_blank"], ["href", "https://www.facebook.com/virtrolio/", "target", "_blank"], ["href", "https://www.instagram.com/virtrolio/", "target", "_blank"], ["href", "https://github.com/virtrolio/virtrolio-site", "target", "_blank"], [1, "col-lg-6", "order-2", "py-5", "py-lg-0"], ["id", "graphic-container justify-content-center"], ["alt", "pink cloud graphic", "id", "graphic", "src", "../../../assets/images/ContactUs.svg"]],
5006        template: function ContactComponent_Template(rf, ctx) {
5007          if (rf & 1) {
5008            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
5009
5010            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "h1", 1);
5011
5012            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](2, "Contact Us");
5013
5014            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5015
5016            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](3, "br");
5017
5018            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 2);
5019
5020            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "div", 3);
5021
5022            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](6, "p");
5023
5024            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "strong");
5025
5026            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, "Got a question, comment, suggestion or concern?");
5027
5028            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5029
5030            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](9, "br");
5031
5032            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](10, "a", 4);
5033
5034            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](11, "Open an issue on our GitHub");
5035
5036            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5037
5038            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](12, " or email us at ");
5039
5040            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](13, "a", 5);
5041
5042            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](14, "[email protected]");
5043
5044            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5045
5046            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](15, ". ");
5047
5048            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5049
5050            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](16, "p");
5051
5052            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](17, "strong");
5053
5054            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](18, "Looking for our social media?");
5055
5056            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5057
5058            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](19, "br");
5059
5060            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](20, " You're welcome to visit and contact us through our ");
5061
5062            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](21, "a", 6);
5063
5064            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](22, " Facebook");
5065
5066            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5067
5068            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](23, " and ");
5069
5070            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](24, "a", 7);
5071
5072            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](25, "Instagram");
5073
5074            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5075
5076            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](26, " pages. ");
5077
5078            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5079
5080            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](27, "p");
5081
5082            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](28, "strong");
5083
5084            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](29, "Want to contribute to our project?");
5085
5086            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5087
5088            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](30, "br");
5089
5090            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](31, "a", 8);
5091
5092            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](32, "Open a pull request");
5093
5094            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5095
5096            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](33, " on our repository. ");
5097
5098            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5099
5100            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5101
5102            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](34, "div", 9);
5103
5104            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](35, "div", 10);
5105
5106            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](36, "img", 11);
5107
5108            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5109
5110            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5111
5112            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5113
5114            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5115          }
5116        },
5117        styles: ["#graphic[_ngcontent-%COMP%] {\n  height: 12em;\n  margin-left: auto;\n  margin-right: auto;\n  width: 100%;\n}\n\n#graphic-container[_ngcontent-%COMP%] {\n  width: 100%;\n}\n\n#title[_ngcontent-%COMP%] {\n  text-align: center;\n  font-size: 4em;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbnRhY3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixjQUFjO0FBQ2hCIiwiZmlsZSI6ImNvbnRhY3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNncmFwaGljIHtcbiAgaGVpZ2h0OiAxMmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbn1cblxuI2dyYXBoaWMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiN0aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiA0ZW07XG59XG4iXX0= */"]
5118      });
5119      /***/
5120    },
5121
5122    /***/
5123    16459:
5124    /*!********************************************!*\
5125      !*** ./src/app/pages/faq/faq.component.ts ***!
5126      \********************************************/
5127
5128    /***/
5129    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5130      "use strict";
5131
5132      __webpack_require__.r(__webpack_exports__);
5133      /* harmony export */
5134
5135
5136      __webpack_require__.d(__webpack_exports__, {
5137        /* harmony export */
5138        "FaqComponent": function FaqComponent() {
5139          return (
5140            /* binding */
5141            _FaqComponent
5142          );
5143        }
5144        /* harmony export */
5145
5146      });
5147      /* harmony import */
5148
5149
5150      var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
5151      /*! @angular/core */
5152      37716);
5153      /* harmony import */
5154
5155
5156      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
5157      /*! @angular/platform-browser */
5158      39075);
5159      /* harmony import */
5160
5161
5162      var _core_common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
5163      /*! ../../core/common.service */
5164      80150);
5165      /* harmony import */
5166
5167
5168      var _angular_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
5169      /*! @angular/common */
5170      38583);
5171      /* harmony import */
5172
5173
5174      var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
5175      /*! @angular/router */
5176      39895);
5177
5178      function FaqComponent_div_4_div_3_Template(rf, ctx) {
5179        if (rf & 1) {
5180          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 8);
5181
5182          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "div", 9);
5183
5184          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "h2", 10);
5185
5186          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](3, "button", 11);
5187
5188          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](4);
5189
5190          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
5191
5192          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
5193
5194          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
5195
5196          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](5, "div", 12);
5197
5198          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](6, "div", 13);
5199
5200          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
5201
5202          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
5203        }
5204
5205        if (rf & 2) {
5206          var question_r4 = ctx.$implicit;
5207          var q_r5 = ctx.index;
5208
5209          var s_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]().index;
5210
5211          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
5212
5213          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate2"]("id", "question", s_r2, "-", q_r5, "");
5214
5215          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2);
5216
5217          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵattribute"]("aria-controls", "answer" + s_r2 + "-" + q_r5)("data-target", "#answer" + s_r2 + "-" + q_r5);
5218
5219          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
5220
5221          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"](" ", question_r4.question, " ");
5222
5223          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
5224
5225          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate2"]("id", "answer", s_r2, "-", q_r5, "");
5226
5227          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵattribute"]("data-parent", "#section-header" + s_r2);
5228
5229          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
5230
5231          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("innerHTML", question_r4.answer, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeHtml"]);
5232        }
5233      }
5234
5235      function FaqComponent_div_4_Template(rf, ctx) {
5236        if (rf & 1) {
5237          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 5);
5238
5239          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "h2", 6);
5240
5241          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](2);
5242
5243          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
5244
5245          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](3, FaqComponent_div_4_div_3_Template, 7, 9, "div", 7);
5246
5247          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
5248        }
5249
5250        if (rf & 2) {
5251          var section_r1 = ctx.$implicit;
5252          var s_r2 = ctx.index;
5253
5254          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate1"]("id", "section-header", s_r2, "");
5255
5256          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2);
5257
5258          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate"](section_r1.sectionTitle);
5259
5260          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
5261
5262          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngForOf", section_r1.questions);
5263        }
5264      }
5265
5266      var _FaqComponent = /*#__PURE__*/function () {
5267        function _FaqComponent(title, commonService) {
5268          var _this12 = this;
5269
5270          _classCallCheck(this, _FaqComponent);
5271
5272          this.title = title;
5273          this.commonService = commonService;
5274          this.commonService.parseYAMLFromFile('./assets/data/faq.content.yml').then(function (data) {
5275            return _this12.faqContent = data;
5276          });
5277        }
5278
5279        _createClass(_FaqComponent, [{
5280          key: "ngOnInit",
5281          value: function ngOnInit() {
5282            this.title.setTitle('Frequently Asked Questions | Virtrolio');
5283          }
5284        }]);
5285
5286        return _FaqComponent;
5287      }();
5288
5289      _FaqComponent.ɵfac = function FaqComponent_Factory(t) {
5290        return new (t || _FaqComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__.Title), _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService));
5291      };
5292
5293      _FaqComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({
5294        type: _FaqComponent,
5295        selectors: [["app-faq"]],
5296        decls: 12,
5297        vars: 1,
5298        consts: [[1, "pt-5", "container"], [1, "mb-3", "header-text"], ["class", "accordion mb-5", 3, "id", 4, "ngFor", "ngForOf"], [1, "justify-content-center", "vertical-center", "py-4"], ["routerLink", "/contact"], [1, "accordion", "mb-5", 3, "id"], [1, "subheader-text"], ["class", "card", 4, "ngFor", "ngForOf"], [1, "card"], [1, "card-header", 3, "id"], [1, "mb-0"], ["aria-expanded
5298", "false", "data-toggle", "collapse", "type", "button", 1, "btn", "btn-link"], ["aria-labelledby", "question", 1, "collapse", 3, "id"], [1, "card-body", "card-align", 3, "innerHTML"]],
5299        template: function FaqComponent_Template(rf, ctx) {
5300          if (rf & 1) {
5301            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 0);
5302
5303            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "h1", 1);
5304
5305            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](2, "Frequently Asked Questions");
5306
5307            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
5308
5309            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](3, "br");
5310
5311            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](4, FaqComponent_div_4_Template, 4, 3, "div", 2);
5312
5313            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](5, "hr");
5314
5315            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](6, "div", 3);
5316
5317            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](7, "p");
5318
5319            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](8, " Didn't find what you were looking for? Send us your question with the ");
5320
5321            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](9, "a", 4);
5322
5323            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](10, "Contact Us");
5324
5325            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
5326
5327            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](11, " page! ");
5328
5329            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
5330
5331            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
5332
5333            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
5334          }
5335
5336          if (rf & 2) {
5337            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](4);
5338
5339            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngForOf", ctx.faqContent);
5340          }
5341        },
5342        directives: [_angular_common__WEBPACK_IMPORTED_MODULE_3__.NgForOf, _angular_router__WEBPACK_IMPORTED_MODULE_4__.RouterLinkWithHref],
5343        styles: [".card-align[_ngcontent-%COMP%] {\n  padding: 1.25rem 2rem;\n}\n\n#title[_ngcontent-%COMP%] {\n  text-align: center;\n  font-size: 4em;\n  margin-top: 2em;\n}\n\n#bottom-text[_ngcontent-%COMP%] {\n  text-align: center;\n}\n\n.btn-link[_ngcontent-%COMP%] {\n  text-align: left;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZhcS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UscUJBQXFCO0FBQ3ZCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxlQUFlO0FBQ2pCOztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCIiwiZmlsZSI6ImZhcS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNhcmQtYWxpZ24ge1xuICBwYWRkaW5nOiAxLjI1cmVtIDJyZW07XG59XG5cbiN0aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiA0ZW07XG4gIG1hcmdpbi10b3A6IDJlbTtcbn1cblxuI2JvdHRvbS10ZXh0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYnRuLWxpbmsge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuIl19 */"]
5344      });
5345      /***/
5346    },
5347
5348    /***/
5349    25245:
5350    /*!**********************************************!*\
5351      !*** ./src/app/pages/home/home.component.ts ***!
5352      \**********************************************/
5353
5354    /***/
5355    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5356      "use strict";
5357
5358      __webpack_require__.r(__webpack_exports__);
5359      /* harmony export */
5360
5361
5362      __webpack_require__.d(__webpack_exports__, {
5363        /* harmony export */
5364        "HomeComponent": function HomeComponent() {
5365          return (
5366            /* binding */
5367            _HomeComponent
5368          );
5369        }
5370        /* harmony export */
5371
5372      });
5373      /* harmony import */
5374
5375
5376      var aos__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
5377      /*! aos */
5378      68096);
5379      /* harmony import */
5380
5381
5382      var aos__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aos__WEBPACK_IMPORTED_MODULE_0__);
5383      /* harmony import */
5384
5385
5386      var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
5387      /*! @angular/core */
5388      37716);
5389      /* harmony import */
5390
5391
5392      var _core_auth_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
5393      /*! ../../core/auth.service */
5394      87341);
5395      /* harmony import */
5396
5397
5398      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
5399      /*! @angular/platform-browser */
5400      39075);
5401      /* harmony import */
5402
5403
5404      var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
5405      /*! @angular/common */
5406      38583);
5407      /* harmony import */
5408
5409
5410      var ngx_markdown__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
5411      /*! ngx-markdown */
5412      76715);
5413      /* harmony import */
5414
5415
5416      var _angular_router__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
5417      /*! @angular/router */
5418      39895);
5419
5420      function HomeComponent_div_1_Template(rf, ctx) {
5421        if (rf & 1) {
5422          var _r10 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"]();
5423
5424          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 45);
5425
5426          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](1, "img", 46);
5427
5428          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](2, "div", 47);
5429
5430          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](3, "h1", 48);
5431
5432          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](4, " Stay connected. ");
5433
5434          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5435
5436          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](5, "h1", 49);
5437
5438          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](6, " Even when you're apart. ");
5439
5440          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5441
5442          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](7, "img", 50);
5443
5444          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function HomeComponent_div_1_Template_img_click_7_listener() {
5445            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r10);
5446
5447            var ctx_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"]();
5448
5449            return ctx_r9.onClickChevron();
5450          });
5451
5452          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5453
5454          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5455
5456          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5457        }
5458      }
5459
5460      function HomeComponent_ng_template_2_Template(rf, ctx) {
5461        if (rf & 1) {
5462          var _r12 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"]();
5463
5464          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 45);
5465
5466          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](1, "div", 47);
5467
5468          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](2, "h1", 51);
5469
5470          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](3, " Stay connected. ");
5471
5472          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5473
5474          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "h1", 52);
5475
5476          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](5, "Even when you're apart.");
5477
5478          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5479
5480          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](6, "img", 53);
5481
5482          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function HomeComponent_ng_template_2_Template_img_click_6_listener() {
5483            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r12);
5484
5485            var ctx_r11 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"]();
5486
5487            return ctx_r11.onClickChevron();
5488          });
5489
5490          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5491
5492          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5493
5494          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5495        }
5496      }
5497
5498      function HomeComponent_div_16_Template(rf, ctx) {
5499        if (rf & 1) {
5500          var _r14 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"]();
5501
5502          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div");
5503
5504          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](1, "p", 54);
5505
5506          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](2, " Sign in below to create your own virtrolio! ");
5507
5508          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5509
5510          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](3, "div", 55);
5511
5512          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "button", 56);
5513
5514          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function HomeComponent_div_16_Template_button_click_4_listener() {
5515            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r14);
5516
5517            var ctx_r13 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"]();
5518
5519            return ctx_r13.authService.login("/my-virtrolio");
5520          });
5521
5522          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](5, "img", 57);
5523
5524          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](6, "span");
5525
5526          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](7, "Sign in with Google");
5527
5528          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5529
5530          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5531
5532          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5533
5534          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](8, "div", 58);
5535
5536          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](9, "p", 59);
5537
5538          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](10, " By signing up for/signing into our service, you are agreeing to our ");
5539
5540          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](11, "a", 60);
5541
5542          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](12, "Terms of Service.");
5543
5544          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5545
5546          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5547
5548          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](13, "p", 61);
5549
5550          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](14, " At this time, we do not support signing in using providers other than Google. ");
5551
5552          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5553
5554          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5555
5556          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5557        }
5558      }
5559
5560      function HomeComponent_ng_template_17_Template(rf, ctx) {
5561        if (rf & 1) {
5562          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 62);
5563
5564          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](1, "p", 63);
5565
5566          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](2, " You're already signed in! Click the button to go to your virtrolio. ");
5567
5568          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5569
5570          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5571
5572          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](3, "div", 64);
5573
5574          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "button", 65);
5575
5576          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](5, " Go to my virtrolio ");
5577
5578          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5579
5580          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5581        }
5582      }
5583
5584      function HomeComponent_div_98_Template(rf, ctx) {
5585        if (rf & 1) {
5586          var _r16 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"]();
5587
5588          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div");
5589
5590          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](1, "div", 62);
5591
5592          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](2, "h3", 66);
5593
5594          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](3, " Ready to get signing? ");
5595
5596          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5597
5598          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "p", 63);
5599
5600          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](5, "Sign in and get your virtrolio!");
5601
5602          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5603
5604          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5605
5606          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](6, "div", 55);
5607
5608          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](7, "button", 56);
5609
5610          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function HomeComponent_div_98_Template_button_click_7_listener() {
5611            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r16);
5612
5613            var ctx_r15 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"]();
5614
5615            return ctx_r15.authService.login("/my-virtrolio");
5616          });
5617
5618          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](8, "img", 57);
5619
5620          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](9, "span");
5621
5622          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](10, "Sign in with Google");
5623
5624          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5625
5626          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5627
5628          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5629
5630          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5631        }
5632      }
5633
5634      function HomeComponent_ng_template_99_Template(rf, ctx) {
5635        if (rf & 1) {
5636          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 62);
5637
5638          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](1, "h3", 67);
5639
5640          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](2, "You're all set!");
5641
5642          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5643
5644          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5645
5646          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](3, "div", 64);
5647
5648          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "button", 68);
5649
5650          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](5, " Go to my virtrolio ");
5651
5652          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5653
5654          _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5655        }
5656      }
5657
5658      var _HomeComponent = /*#__PURE__*/function () {
5659        function _HomeComponent(authService, title) {
5660          _classCallCheck(this, _HomeComponent);
5661
5662          this.authService = authService;
5663          this.title = title; // Initialize Animate on Scroll library
5664          // In constructor instead of ngOnInit to avoid the page breaking when routerLinking to home
5665
5666          aos__WEBPACK_IMPORTED_MODULE_0__.init();
5667          this.getScreenSize();
5668        }
5669        /**
5670         * "Subscribes" to the window resize event to update current value of viewport height
5671         */
5672
5673
5674        _createClass(_HomeComponent, [{
5675          key: "getScreenSize",
5676          value: function getScreenSize() {
5677            this.screenHeight = window.innerHeight;
5678          }
5679        }, {
5680          key: "ngOnInit",
5681          value: function ngOnInit() {
5682            this.title.setTitle("Virtrolio - Stay connected. Even when you're apart.");
5683          }
5684          /**
5685           * Scroll within page without linking to fragments
5686           */
5687
5688        }, {
5689          key: "onClickChevron",
5690          value: function onClickChevron() {
5691            document.getElementById('info').scrollIntoView({
5692              behavior: 'smooth'
5693            });
5694          }
5695        }]);
5696
5697        return _HomeComponent;
5698      }();
5699
5700      _HomeComponent.ɵfac = function HomeComponent_Factory(t) {
5701        return new (t || _HomeComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdirectiveInject"](_core_auth_service__WEBPACK_IMPORTED_MODULE_1__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__.Title));
5702      };
5703
5704      _HomeComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineComponent"]({
5705        type: _HomeComponent,
5706        selectors: [["app-home"]],
5707        hostBindings: function HomeComponent_HostBindings(rf, ctx) {
5708          if (rf & 1) {
5709            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("resize", function HomeComponent_resize_HostBindingHandler($event) {
5710              return ctx.getScreenSize($event);
5711            }, false, _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresolveWindow"]);
5712          }
5713        },
5714        decls: 101,
5715        vars: 6,
5716        consts: [[1, "container-fluid", "full-width", "home-background"], ["class", "container-fluid full-width vertical-center home-img-background", 4, "ngIf", "ngIfElse"], ["mobileLandscape", ""], ["id", "info"], [1, "pt-5", "vertical-center", "body-container"], [1, "d-flex", "justify-content-center"], ["data-aos", "zoom-in", "data-aos-duration", "1000", "data-aos-once", "true", 1, "col-12", "col-sm-12", "col-md-12", "col-lg-8", "col-xl-8"], [1, "mb-3", "px-5", "home-text", "header-text"], [1, "lead", "px-5", "home-text", "body-text"], ["id", "login-virtrolio-button", 1, "px-5"], [4, "ngIf", "ngIfElse"], ["MyVirtrolio", ""], ["id", "viewing-demo", 1, "full-width", "demo-section"], ["data-aos", "fade-left", "data-aos-duration", "2000", "data-aos-once", "true", 1, "full-width", "demo-image", "d-none", "d-md-block", "viewing-demo-image"], [1, "vertical-center", "mx-5", "px-5", "viewing-demo-text-container"], [1, "demo-title"], [1, "full-width", "demo-image", "d-block", "d-md-none", "viewing-demo-image"], [1, "py-4", "center-children", "vertical-center", "body-container"], [1, ""], [1, "col-12", "col-sm-12", "col-md-12", "col-lg-8", "col-xl-8"], [1, "row"], [1, "order-md-1", "col-12", "col-sm-12", "col-md-12", "col-lg-6", "col-xl-8", "px-5"], [1, "card", "mr-4", "mb-5", "rounded", "border-0"], [1, "body-header-text"], [1, "lead", "body-text"], ["href", "/privacy-policy"], [1, "lead", "home-text", "body-text"], [1, "card", "mr-4", "rounded", "border-0"], [2, "color", "#d1155a"], [2, "font-family", "'Indie Flower', sans-serif"], [1, "order-md-2", "col-lg-6", "col-xl-4", "mt-4", "d-none", "d-lg-block"], [1, "vertical-center", "card-container"], ["data-aos", "flip-left", "data-aos-duration", "2000", "data-aos-once", "true", 1, "card", "shadow"], [1, "card-header"], [1, "profile-pic-container-small", "mr-2"], ["alt", "profile-pic", "src", "../../../assets/images/logo_reg.png", 1, "profile-pic"], [1, "card-header-text"], ["emoji", "", 1, "card-body", "card-message"], ["id", "signing-demo", 1, "full-width", "demo-section"], ["data-aos", "fade-right", "data-aos-duration", "2000", "data-aos-once", "true", 1, "full-width", "demo-image", "d-none", "d-md-block", "signing-demo-image"], [1, "vertical-center", "mx-5", "px-5", "signing-demo-text-container"], [1, "full-width", "demo-image", "d-block", "d-md-none", "signing-demo-image"], [1, "py-1", "vertical-center", "body-container"], ["id", "login-virtrolio-button-bottom", 1, "px-5"], ["MyVirtrolioBottom", ""], [1, "container-fluid", "full-width", "vertical-center", "home-img-background"], ["alt", "Virtrolio Logo", "id", "bg-logo-img", "data-aos", "zoom-in-up", "data-aos-duration", "1500", "src", "../../../assets/images/logo_inverted-no-back.png", 1, "d-none", "d-xl-block"], [1, "title-container"], ["data-aos", "zoom-in", "data-aos-duration", "500", "data-aos-once", "true", "id", "title-header"], ["data-aos", "zoom-in", "data-aos-duration", "1000", "data-aos-once", "true", "id", "title-subtitle"], ["alt", "down", "height", "48", "id", "chevron", "src", "../../../assets/images/icons/chevron-down.svg", "width", "48", 3, "click"], ["data-aos", "zoom-in", "data-aos-duration", "500", "data-aos-once", "true", "id", "title-header-mobile-landscape"], ["id", "title-subtitle-mobile-landscape"], ["alt", "down", "height", "48", "id", "chevron-mobile-landscape", "src", "../../../assets/images/icons/chevron-down.svg", "width", "48", 3, "click"], ["id", "bolded-body-text", 1, "lead"], [1, "row", "d-flex", "justify-content-center", "mt-4"], ["type", "button", 1, "btn", "btn-outline-dark", "google-sign-in-btn", 3, "click"], ["alt", "Google Logo", "height", "23", "src", "../../../assets/images/icons/google.svg", "width", "23"], ["id", "disclaimer-text"], [1, "lead", "pt-4"], ["href", "/terms-of-service"], [1, "lead"], [1, "justify-content-center", "text-center", "pt-1"], [1, "lead", "pb-1"], [1, "d-flex", "justify-content-center", "pt-1"], ["id", "my-virtrolio", "routerLink", "/my-v
5716irtrolio", "type", "button", 1, "btn-lg", "btn-primary"], [1, "mb-1", "px-5", "home-text", "ready-text"], [1, "mb-1", "px-5", "home-text", "ready-text", "pb-4"], ["id", "my-virtrolio-bottom", "routerLink", "/my-virtrolio", "type", "button", 1, "btn-lg", "btn-primary"]],
5717        template: function HomeComponent_Template(rf, ctx) {
5718          if (rf & 1) {
5719            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 0);
5720
5721            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](1, HomeComponent_div_1_Template, 8, 0, "div", 1);
5722
5723            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](2, HomeComponent_ng_template_2_Template, 7, 0, "ng-template", null, 2, _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplateRefExtractor"]);
5724
5725            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5726
5727            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](4, "a", 3);
5728
5729            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](5, "div", 4);
5730
5731            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](6, "div", 5);
5732
5733            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](7, "div", 6);
5734
5735            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](8, "h2", 7);
5736
5737            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](9, "What is a virtrolio?");
5738
5739            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5740
5741            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](10, "p", 8);
5742
5743            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](11, " A ");
5744
5745            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](12, "em");
5746
5747            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](13, "virtrolio");
5748
5749            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5750
5751            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](14, " is a virtual folio\u2014an online version of those last few pages in your yearbook that you use to write personal and long-lasting messages to your friends. In other words, you can create your own virtrolio, share it with friends, and have them write customized messages for you to keep. Whenever you want, you can view your virtrolio and all the messages you have received from your friends! ");
5752
5753            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5754
5755            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](15, "div", 9);
5756
5757            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](16, HomeComponent_div_16_Template, 15, 0, "div", 10);
5758
5759            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](17, HomeComponent_ng_template_17_Template, 6, 0, "ng-template", null, 11, _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplateRefExtractor"]);
5760
5761            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5762
5763            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5764
5765            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5766
5767            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5768
5769            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](19, "div", 12);
5770
5771            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](20, "div", 13);
5772
5773            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](21, "div", 14);
5774
5775            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](22, "h2", 15);
5776
5777            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](23, "A virtual take on");
5778
5779            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5780
5781            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](24, "h2", 15);
5782
5783            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](25, "yearbook signing");
5784
5785            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5786
5787            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5788
5789            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5790
5791            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](26, "div", 16);
5792
5793            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](27, "div", 14);
5794
5795            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](28, "h2", 15);
5796
5797            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](29, "A virtual take\xA0on");
5798
5799            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5800
5801            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](30, "h2", 15);
5802
5803            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](31, "yearbook signing");
5804
5805            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5806
5807            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5808
5809            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5810
5811            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5812
5813            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](32, "div", 17);
5814
5815            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](33, "div", 18);
5816
5817            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](34, "div", 19);
5818
5819            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](35, "div", 20);
5820
5821            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](36, "div", 21);
5822
5823            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](37, "div", 22);
5824
5825            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](38, "h3", 23);
5826
5827            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](39, "Why use Virtrolio?");
5828
5829            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5830
5831            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](40, "p", 24);
5832
5833            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](41, " Using Virtrolio offers you an authentic yearbook signing experience, and that means ");
5834
5835            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](42, "em");
5836
5837            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](43, "privacy");
5838
5839            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5840
5841            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](44, ". You can only view virtrolio messages sent directly to you (see our ");
5842
5843            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](45, "a", 25);
5844
5845            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](4
58456, "Privacy Policy");
5846
5847            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5848
5849            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](47, " for more details). ");
5850
5851            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5852
5853            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5854
5855            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](48, "div", 22);
5856
5857            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](49, "h3", 23);
5858
5859            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](50, "How can I make a virtrolio?");
5860
5861            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5862
5863            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](51, "p", 26);
5864
5865            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](52, " It's easy to create a virtrolio! Sign in with your Google account and a custom virtrolio link will be generated for you. Share this link with your friends so they can sign your virtrolio. ");
5866
5867            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5868
5869            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5870
5871            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](53, "div", 27);
5872
5873            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](54, "h3", 23);
5874
5875            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](55, " What does signing a virtrolio look like? ");
5876
5877            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5878
5879            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](56, "p", 26);
5880
5881            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](57, " We offer you an array of message customization tools, including ");
5882
5883            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](58, "span", 28);
5884
5885            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](59, "colour pickers");
5886
5887            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5888
5889            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](60, ", ");
5890
5891            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](61, "span", 29);
5892
5893            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](62, "b");
5894
5895            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](63, "fonts");
5896
5897            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5898
5899            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5900
5901            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](64, ", emojis \uD83D\uDE0D, and a markdown editor\u2014all so that you can truly express yourself. ");
5902
5903            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5904
5905            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5906
5907            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5908
5909            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](65, "div", 30);
5910
5911            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](66, "div", 31);
5912
5913            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](67, "div", 32);
5914
5915            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](68, "div", 33);
5916
5917            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](69, "span", 34);
5918
5919            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](70, "img", 35);
5920
5921            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5922
5923            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](71, "span", 36);
5924
5925            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](72, "Mike H.");
5926
5927            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5928
5929            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5930
5931            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](73, "markdown", 37);
5932
5933            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](74, "University across the country, huh? I don't know 
5933what I'm going to do without you next year. I'll call you whenever I can. Until I see you again! :heart: ");
5934
5935            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5936
5937            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5938
5939            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5940
5941            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5942
5943            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5944
5945            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5946
5947            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5948
5949            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5950
5951            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](75, "div", 38);
5952
5953            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](76, "div", 39);
5954
5955            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](77, "div", 40);
5956
5957            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](78, "h2", 15);
5958
5959            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](79, "Give your messages");
5960
5961            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5962
5963            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](80, "h2", 15);
5964
5965            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](81, "your ");
5966
5967            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](82, "i");
5968
5969            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](83, "signature");
5970
5971            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5972
5973            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](84, " touch");
5974
5975            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5976
5977            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5978
5979            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5980
5981            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](85, "div", 41);
5982
5983            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](86, "div", 40);
5984
5985            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](87, "h2", 15);
5986
5987            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](88, "Give your messages");
5988
5989            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
5990
5991            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](89, "h2", 15);
5992
5993            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](90, "your ");
5994
5995            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](91, "i");
5996
5997            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](92, "signature");
5998
5999            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
6000
6001            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](93, " touch");
6002
6003            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
6004
6005            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
6006
6007            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
6008
6009            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
6010
6011            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](94, "div", 42);
6012
6013            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](95, "div", 5);
6014
6015            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](96, "div", 6);
6016
6017            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](97, "div", 43);
6018
6019            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](98, HomeComponent_div_98_Template, 11, 0, "div", 10);
6020
6021            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](99, HomeComponent_ng_template_99_Template, 6, 0, "ng-template", null, 44, _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplateRefExtractor"]);
6022
6023            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
6024
6025            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
6026
6027            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
6028
6029            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
6030          }
6031
6032          if (rf & 2) {
6033            var _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵreference"](3);
6034
6035            var _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵreference"](18);
6036
6037            var _r7 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵreference"](100);
6038
6039            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](1);
6040
6041            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngIf", ctx.screenHeight > 420)("ngIfElse", _r1);
6042
6043            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](15);
6044
6045            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngIf", !ctx.authService.isLoggedIn())("ngIfElse", _r4);
6046
6047            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](82);
6048
6049            _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngIf", !ctx.authService.isLoggedIn())("ngIfElse", _r7);
6050          }
6051        },
6052        directives: [_angular_common__WEBPACK_IMPORTED_MODULE_4__.NgIf, ngx_markdown__WEBPACK_IMPORTED_MODULE_5__.MarkdownComponent, _angular_router__WEBPACK_IMPORTED_MODULE_6__.RouterLink],
6053        styles: [".home-background[_ngcontent-%COMP%] {\n  background: linear-gradient(\n    90deg,\n    var(--navbar-left) 0%,\n    var(--navbar-right) 100%\n  );\n  height: calc(100vh - var(--navbar-height));\n  overflow: hidden;\n}\n\n\n\n#bg-logo-img[_ngcontent-%COMP%] {\n  position: absolute;\n  opacity: 0.25;\n  right: 0;\n  height: 50em;\n  width: 50em;
6053\n}\n\n.title-container[_ngcontent-%COMP%] {\n  font-family: 'Roboto', sans-serif;\n  position: relative;\n  padding-left: 10vw;\n}\n\n#title-header[_ngcontent-%COMP%] {\n  font-size: 6em;\n  color: white;\n}\n\n#title-subtitle[_ngcontent-%COMP%] {\n  font-size: 2em;\n  font-weight: 400;\n  color: white;\n  margin-top: 1em;\n}\n\n#title-header-mobile-landscape[_ngcontent-%COMP%] {\n  font-size: 4em;\n  color: white;\n}\n\n#title-subtitle-mobile-landscape[_ngcontent-%COMP%] {\n  font-size: 1em;\n  font-weight: 400;\n  color: white;\n  margin-top: 0.5em;\n}\n\n#chevron[_ngcontent-%COMP%] {\n  margin-top: 2em;\n  cursor: pointer;\n}\n\n#chevron-mobile-landscape[_ngcontent-%COMP%] {\n  margin-top: 0;\n  cursor: pointer;\n}\n\n.home-img-background[_ngcontent-%COMP%] {\n  background: url('bg-curve.svg') no-repeat center bottom;\n  background-size: 100%;\n  height: calc(100vh - var(--navbar-height));\n  overflow: hidden;\n  position: absolute;\n  left: 0;\n  right: 0;\n}\n\n.demo-section[_ngcontent-%COMP%] {\n  height: 70vh;\n  overflow: hidden;\n}\n\n.demo-image[_ngcontent-%COMP%] {\n  overflow: hidden;\n  position: relative;\n  height: 100%;\n  left: 0;\n  right: 0;\n}\n\n.card-container[_ngcontent-%COMP%] {\n  height: 100%;\n}\n\n#card-text[_ngcontent-%COMP%] {\n  background: var(--accent);\n  font-family: Roboto, sans-serif;\n  color: white;\n}\n\n#viewing-demo[_ngcontent-%COMP%] {\n  background: linear-gradient(\n    90deg,\n    var(--navbar-left) 0%,\n    var(--navbar-right) 100%\n  );\n}\n\n#signing-demo[_ngcontent-%COMP%] {\n  background: linear-gradient(129deg, #86d5d3, #a4e681, #edc556, #fa8072);\n  background-size: 800% 800%;\n  animation: SectionGradientAnimation 10s ease infinite;\n}\n\n.viewing-demo-image[_ngcontent-%COMP%] {\n  background: url('viewing-demo.svg') no-repeat center;\n  background-size: cover;\n}\n\n.signing-demo-image[_ngcontent-%COMP%] {\n  background: url('signing-demo.svg') no-repeat center;\n  background-size: cover;\n}\n\n.viewing-demo-text-container[_ngcontent-%COMP%] {\n  font-family: 'Roboto', sans-serif;\n  position: absolute;\n  left: 0;\n  text-align: left;\n  height: 100%;\n}\n\n.signing-demo-text-container[_ngcontent-%COMP%] {\n  font-family: 'Roboto', sans-serif;\n  position: absolute;\n  right: 0;\n  text-align: right;\n  height: 100%;\n}\n\n.demo-title[_ngcontent-%COMP%] {\n  font-size: 3em;\n  font-weight: 400;\n  color: white;\n  text-shadow: 0.1em 0.1em 0.2em rgba(0, 0, 0, 0.5);\n  white-space: normal;\n}\n\n\n\n.body-container[_ngcontent-%COMP%] {\n  margin: 5em 0;\n}\n\n#bolded-body-text[_ngcontent-%COMP%] {\n  font-weight: 600;\n  text-align: center;\n}\n\n#disclaimer-text[_ngcontent-%COMP%]    > p[_ngcontent-%COMP%] {\n  font-size: 1em;\n  text-align: center;\n}\n\n.header-text[_ngcontent-%COMP%] {\n  font-size: 3em;\n  font-weight: bold;\n}\n\n.ready-text[_ngcontent-%COMP%] {\n  font-size: 2em;\n  font-weight: bold;\n  text-align: center;\n}\n\n.body-header-text[_ngcontent-%COMP%] {\n  font-size: 1.2em;\n}\n\n.body-text[_ngcontent-%COMP%] {\n  font-family: 'Roboto', sans-serif;\n  font-size: 1em;\n}\n\n#login-virtrolio-button[_ngcontent-%COMP%] {\n  padding: 3em 0 3em 0;\n}\n\n.card-header-text[_ngcontent-%COMP%] {\n  font-weight: bold;\n  margin-top: 0.2em;\n}\n\n.card-header[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: row;\n}\n\n.card-message[_ngcontent-%COMP%] {\n  background: var(--accent);\n  padding: 3em;\n  color: white;\n  font-size: 1em;\n  font-weight: bold;\n}\n\n.profile-pic-container-small[_ngcontent-%COMP%] {\n  background: rgba(255, 255, 255, 0);\n  height: 2em;\n  width: 2em;\n  border-radius: 100%;\n  display: flex;\n}\n\n@media only screen and (max-width: 768px) {\n  #title-header[_ngcontent-%COMP%] {\n    font-size: 10vw;\n    color: white;\n  }\n\n  #title-subtitle[_ngcontent-%COMP%] {\n    font-size: 4vw;\n    font-weight: 400;\n    color: white;\n    margin-top: 1em;\n    line-height: 0;\n  }\n\n  .header-text[_ngcontent-%COMP%] {\n    font-size: 2em;\n    font-weight: bold;\n  }\n\n  .body-text[_ngcontent-%COMP%] {\n    font-family: 'Roboto', sans-serif;\n    font-size: 1em;\n  }\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar {\n  width: 0.2em;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n  opacity: 0;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n  background: #efefef;\n  opacity: 0.1;\n  border-radius: 1em;\n}\n\n\n\n#btn-info[_ngcontent-%COMP%] {\n  border-radius: 6em;\n  background-color: var(--accent);\n  color: #ffffff;\n}\n\n#btn-info[_ngcontent-%COMP%]:hover {\n  background-color: var(--dark-accent);\n}\n\n\n\n#info[_ngcontent-%COMP%]::before {\n  content: '';\n  display: block;\n  height: 50px;\n  margin: -50px 0 0 0;\n}\n\n\n\n@keyframes SectionGradientAnimation {\n  0% {\n    background-position: 0 0;\n  }\n  50% {\n    background-position: 93% 100%;\n  }\n  100% {\n    background-position: 0 0;\n  }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvbWUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkI7O0FBRTNCO0VBQ0U7Ozs7R0FJQztFQUNELDBDQUEwQztFQUMxQyxnQkFBZ0I7QUFDbEI7O0FBRUEsdUVBQXVFOztBQUN2RTtFQUNFLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IsUUFBUTtFQUNSLFlBQVk7RUFDWixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxpQ0FBaUM7RUFDakMsa0JBQWtCO0VBQ2xCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxZQUFZO0FBQ2Q7O0F
6053BRUE7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLFlBQVk7RUFDWixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsY0FBYztFQUNkLFlBQVk7QUFDZDs7QUFFQTtFQUNFLGNBQWM7RUFDZCxnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLGVBQWU7RUFDZixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLGVBQWU7QUFDakI7O0FBRUE7RUFDRSx1REFBOEU7RUFDOUUscUJBQXFCO0VBQ3JCLDBDQUEwQztFQUMxQyxnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLE9BQU87RUFDUCxRQUFRO0FBQ1Y7O0FBRUE7RUFDRSxZQUFZO0VBQ1osZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osT0FBTztFQUNQLFFBQVE7QUFDVjs7QUFFQTtFQUNFLFlBQVk7QUFDZDs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6QiwrQkFBK0I7RUFDL0IsWUFBWTtBQUNkOztBQUVBO0VBQ0U7Ozs7R0FJQztBQUNIOztBQUVBO0VBQ0UsdUVBQXVFO0VBQ3ZFLDBCQUEwQjtFQUcxQixxREFBcUQ7QUFDdkQ7O0FBRUE7RUFDRSxvREFBMkU7RUFDM0Usc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0Usb0RBQTJFO0VBQzNFLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLGlDQUFpQztFQUNqQyxrQkFBa0I7RUFDbEIsT0FBTztFQUNQLGdCQUFnQjtFQUNoQixZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxpQ0FBaUM7RUFDakMsa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUixpQkFBaUI7RUFDakIsWUFBWTtBQUNkOztBQUVBO0VBQ0UsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osaURBQWlEO0VBQ2pELG1CQUFtQjtBQUNyQjs7QUFFQSxxQkFBcUI7O0FBRXJCO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsY0FBYztFQUNkLGlCQUFpQjtFQUNqQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxpQ0FBaUM7RUFDakMsY0FBYztBQUNoQjs7QUFFQTtFQUNFLG9CQUFvQjtBQUN0Qjs7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UseUJBQXlCO0VBQ3pCLFlBQVk7RUFDWixZQUFZO0VBQ1osY0FBYztFQUNkLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLGtDQUFrQztFQUNsQyxXQUFXO0VBQ1gsVUFBVTtFQUNWLG1CQUFtQjtFQUNuQixhQUFhO0FBQ2Y7O0FBRUE7RUFDRTtJQUNFLGVBQWU7SUFDZixZQUFZO0VBQ2Q7O0VBRUE7SUFDRSxjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixlQUFlO0lBQ2YsY0FBYztFQUNoQjs7RUFFQTtJQUNFLGNBQWM7SUFDZCxpQkFBaUI7RUFDbkI7O0VBRUE7SUFDRSxpQ0FBaUM7SUFDakMsY0FBYztFQUNoQjtBQUNGOztBQUVBLGtCQUFrQjs7QUFFbEI7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxVQUFVO0FBQ1o7O0FBRUE7RUFDRSxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLGtCQUFrQjtBQUNwQjs7QUFFQSxxQkFBcUI7O0FBRXJCO0VBQ0Usa0JBQWtCO0VBQ2xCLCtCQUErQjtFQUMvQixjQUFjO0FBQ2hCOztBQUVBO0VBQ0Usb0NBQW9DO0FBQ3RDOztBQUVBLGdDQUFnQzs7QUFDaEM7RUFDRSxXQUFXO0VBQ1gsY0FBYztFQUNkLFlBQVk7RUFDWixtQkFBbUI7QUFDckI7O0FBRUEsa0JBQWtCOztBQTBCbEI7RUFDRTtJQUNFLHdCQUF3QjtFQUMxQjtFQUNBO0lBQ0UsNkJBQTZCO0VBQy9CO0VBQ0E7SUFDRSx3QkFBd0I7RUFDMUI7QUFDRiIsImZpbGUiOiJob21lLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB8fCBGdWxsIFNjcmVlbiBMYW5kaW5nICovXG5cbi5ob21lLWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgOTBkZWcsXG4gICAgdmFyKC0tbmF2YmFyLWxlZnQpIDAlLFxuICAgIHZhcigtLW5hdmJhci1yaWdodCkgMTAwJVxuICApO1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1uYXZiYXItaGVpZ2h0KSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIExhcmdlIGxvZ28gaW4gdGhlIGJhY2tncm91bmQgZm9yIHdoZW4gdGhlcmUgaXMgbm8gaW1hZ2UgdG8gZmVhdHVyZSAqL1xuI2JnLWxvZ28taW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwLjI1O1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiA1MGVtO1xuICB3aWR0aDogNTBlbTtcbn1cblxuLnRpdGxlLWNvbnRhaW5lciB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDEwdnc7XG59XG5cbiN0aXRsZS1oZWFkZXIge1xuICBmb250LXNpemU6IDZlbTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4jdGl0bGUtc3VidGl0bGUge1xuICBmb250LXNpemU6IDJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG5cbiN0aXRsZS1oZWFkZXItbW9iaWxlLWxhbmRzY2FwZSB7XG4gIGZvbnQtc2l6ZTogNGVtO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbiN0aXRsZS1zdWJ0aXRsZS1tb2JpbGUtbGFuZHNjYXBlIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG59XG5cbiNjaGV2cm9uIHtcbiAgbWFyZ2luLXRvcDogMmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbiNjaGV2cm9uLW1vYmlsZS1sYW5kc2NhcGUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5ob21lLWltZy1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2JnLWN1cnZlLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLW5hdmJhci1oZWlnaHQpKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cblxuLmRlbW8tc2VjdGlvbiB7XG4gIGhlaWdodDogNzB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmRlbW8taW1hZ2Uge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG59XG5cbi5jYXJkLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuI2NhcmQtdGV4dCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuI3ZpZXdpbmctZGVtbyB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICA5MGRlZyxcbiAgICB2YXIoLS1uYXZiYXItbGVmdCkgMCUsXG4gICAgdmFyKC0tbmF2YmFyLXJpZ2h0KSAxMDAlXG4gICk7XG59XG5cbiNzaWduaW5nLWRlbW8ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTI5ZGVnLCAjODZkNWQzLCAjYTRlNjgxLCAjZWRjNTU2LCAjZmE4MDcyKTtcbiAgYmFja2dyb3VuZC1zaXplOiA4MDAlIDgwMCU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBTZWN0aW9uR3JhZGllbnRBbmltYXRpb24gMTBzIGVhc2UgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiBTZWN0aW9uR3JhZGllbnRBbmltYXRpb24gMTBzIGVhc2UgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogU2VjdGlvbkdyYWRpZW50QW5pbWF0aW9uIDEwcyBlYXNlIGluZmluaXRlO1xufVxuXG4udmlld2luZy1kZW1vLWltYWdlIHtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi9hc3NldHMvaW1hZ2VzL3ZpZXdpbmctZGVtby5zdmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4uc2lnbmluZy1kZW1vLWltYWdlIHtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi9hc3NldHMvaW1hZ2VzL3NpZ25pbmctZGVtby5zdmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4udmlld2luZy1kZW1vLXRleHQtY29udGFpbmVyIHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnNpZ25pbmctZGVtby10ZXh0LWNvbnRhaW5lciB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmRlbW8tdGl0bGUge1xuICBmb250LXNpemU6IDNlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDt
6053cbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LXNoYWRvdzogMC4xZW0gMC4xZW0gMC4yZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4vKiB8fCBCb2R5LVNwZWNpZmljICovXG5cbi5ib2R5LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogNWVtIDA7XG59XG5cbiNib2xkZWQtYm9keS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jZGlzY2xhaW1lci10ZXh0ID4gcCB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oZWFkZXItdGV4dCB7XG4gIGZvbnQtc2l6ZTogM2VtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnJlYWR5LXRleHQge1xuICBmb250LXNpemU6IDJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJvZHktaGVhZGVyLXRleHQge1xuICBmb250LXNpemU6IDEuMmVtO1xufVxuXG4uYm9keS10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuI2xvZ2luLXZpcnRyb2xpby1idXR0b24ge1xuICBwYWRkaW5nOiAzZW0gMCAzZW0gMDtcbn1cblxuLmNhcmQtaGVhZGVyLXRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLXRvcDogMC4yZW07XG59XG5cbi5jYXJkLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi5jYXJkLW1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBwYWRkaW5nOiAzZW07XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ucHJvZmlsZS1waWMtY29udGFpbmVyLXNtYWxsIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgaGVpZ2h0OiAyZW07XG4gIHdpZHRoOiAyZW07XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI3RpdGxlLWhlYWRlciB7XG4gICAgZm9udC1zaXplOiAxMHZ3O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gICN0aXRsZS1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiA0dnc7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICB9XG5cbiAgLmhlYWRlci10ZXh0IHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC5ib2R5LXRleHQge1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxufVxuXG4vKiB8fCBTY3JvbGxiYXJzICovXG5cbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogMC4yZW07XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBvcGFjaXR5OiAwO1xufVxuXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogI2VmZWZlZjtcbiAgb3BhY2l0eTogMC4xO1xuICBib3JkZXItcmFkaXVzOiAxZW07XG59XG5cbi8qIHx8IE1pc2NlbGxhbmVvdXMgKi9cblxuI2J0bi1pbmZvIHtcbiAgYm9yZGVyLXJhZGl1czogNmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuI2J0bi1pbmZvOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyay1hY2NlbnQpO1xufVxuXG4vKiBmcmFnbWVudCBwYWRkaW5nIGZvciBoZWFkZXIgKi9cbiNpbmZvOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNTBweDtcbiAgbWFyZ2luOiAtNTBweCAwIDAgMDtcbn1cblxuLyogfHwgQW5pbWF0aW9ucyAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgU2VjdGlvbkdyYWRpZW50QW5pbWF0aW9uIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxuICA1MCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkzJSAxMDAlO1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgU2VjdGlvbkdyYWRpZW50QW5pbWF0aW9uIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxuICA1MCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkzJSAxMDAlO1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIFNlY3Rpb25HcmFkaWVudEFuaW1hdGlvbiB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIH1cbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5MyUgMTAwJTtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIH1cbn1cbiJdfQ== */"]
6054      });
6055      /***/
6056    },
6057
6058    /***/
6059    84892:
6060    /*!**************************************************************!*\
6061      !*** ./src/app/pages/invalid-link/invalid-link.component.ts ***!
6062      \**************************************************************/
6063
6064    /***/
6065    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6066      "use strict";
6067
6068      __webpack_require__.r(__webpack_exports__);
6069      /* harmony export */
6070
6071
6072      __webpack_require__.d(__webpack_exports__, {
6073        /* harmony export */
6074        "InvalidLinkComponent": function InvalidLinkComponent() {
6075          return (
6076            /* binding */
6077            _InvalidLinkComponent
6078          );
6079        }
6080        /* harmony export */
6081
6082      });
6083      /* harmony import */
6084
6085
6086      var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
6087      /*! @angular/core */
6088      37716);
6089      /* harmony import */
6090
6091
6092      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
6093      /*! @angular/platform-browser */
6094      39075);
6095      /* harmony import */
6096
6097
6098      var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
6099      /*! @angular/router */
6100      39895);
6101
6102      var _InvalidLinkComponent = /*#__PURE__*/function () {
6103        function _InvalidLinkComponent(title) {
6104          _classCallCheck(this, _InvalidLinkComponent);
6105
6106          this.title = title;
6107        }
6108
6109        _createClass(_InvalidLinkComponent, [{
6110          key: "ngOnInit",
6111          value: function ngOnInit() {
6112            this.title.setTitle("Invalid Sharing Link | Virtrolio - Stay connected. Even when you're apart.");
6113          }
6114        }]);
6115
6116        return _InvalidLinkComponent;
6117      }();
6118
6119      _InvalidLinkComponent.ɵfac = function InvalidLinkComponent_Factory(t) {
6120        return new (t || _InvalidLinkComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title));
6121      };
6122
6123      _InvalidLinkComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({
6124        type: _InvalidLinkComponent,
6125        selectors: [["app-invalid-link"]],
6126        decls: 17,
6127        vars: 0,
6128        consts: [[1, "container", "vertical-center", "montserrat"], [1, "row", "justify-content-center", "mx-3", "mt-3"], [1, "display-text"], [1, "row", "justify-content-center", "mx-3"], [1, "display-body-text"], ["alt", "Invalid link image", "id", "graphic", "src", "../../../assets/images/InvalidLink.svg"], [1, "row", "justify-content-center", "my-3"], ["routerLink", "", 1, "btn-lg", "btn-primary", "mt-5"]],
6129        template: function InvalidLinkComponent_Template(rf, ctx) {
6130          if (rf & 1) {
6131            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
6132
6133            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1);
6134
6135            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "h1", 2);
6136
6137            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3, "This sharing link is invali
6137d!");
6138
6139            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6140
6141            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6142
6143            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 3);
6144
6145            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "p", 4);
6146
6147            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](6, " You are trying to access a sharing link that never existed or doesn't work anymore.");
6148
6149            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](7, "br");
6150
6151            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, "If you're trying to sign your friend's virtrolio, make sure to ask for their ");
6152
6153            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](9, "em");
6154
6155            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](10, "newest");
6156
6157            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6158
6159            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](11, " sharing link. ");
6160
6161            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6162
6163            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6164
6165            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](12, "div", 1);
6166
6167            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](13, "img", 5);
6168
6169            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6170
6171            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](14, "div", 6);
6172
6173            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](15, "button", 7);
6174
6175            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](16, "Back to Home");
6176
6177            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6178
6179            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6180
6181            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6182          }
6183        },
6184        directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink],
6185        styles: ["#graphic[_ngcontent-%COMP%] {\n  height: 10em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n  font-size: 2.5em;\n  text-align: center;\n}\n\n#subtitle-text[_ngcontent-%COMP%] {\n  font-size: large;\n  text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n  #graphic[_ngcontent-%COMP%] {\n    height: 5em;\n  }\n\n  #title-text[_ngcontent-%COMP%] {\n    font-size: 2em;\n  }\n\n  #subtitle-text[_ngcontent-%COMP%] {\n    font-size: 1em;\n  }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImludmFsaWQtbGluay5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7O0FBRUEsV0FBVzs7QUFDWDtFQUNFO0lBQ0UsV0FBVztFQUNiOztFQUVBO0lBQ0UsY0FBYztFQUNoQjs7RUFFQTtJQUNFLGNBQWM7RUFDaEI7QUFDRiIsImZpbGUiOiJpbnZhbGlkLWxpbmsuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNncmFwaGljIHtcbiAgaGVpZ2h0OiAxMGVtO1xufVxuXG4jdGl0bGUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMi41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3N1YnRpdGxlLXRleHQge1xuICBmb250LXNpemU6IGxhcmdlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjZ3JhcGhpYyB7XG4gICAgaGVpZ2h0OiA1ZW07XG4gIH1cblxuICAjdGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gIH1cblxuICAjc3VidGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn1cbiJdfQ== */"]
6186      });
6187      /***/
6188    },
6189
6190    /***/
6191    20479:
6192    /*!************************************************************!*\
6193      !*** ./src/app/pages/maintenance/maintenance.component.ts ***!
6194      \************************************************************/
6195
6196    /***/
6197    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6198      "use strict";
6199
6200      __webpack_require__.r(__webpack_exports__);
6201      /* harmony export */
6202
6203
6204      __webpack_require__.d(__webpack_exports__, {
6205        /* harmony export */
6206        "MaintenanceComponent": function MaintenanceComponent() {
6207          return (
6208            /* binding */
6209            _MaintenanceComponent
6210          );
6211        }
6212        /* harmony export */
6213
6214      });
6215      /* harmony import */
6216
6217
6218      var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
6219      /*! @angular/core */
6220      37716);
6221      /* harmony import */
6222
6223
6224      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
6225      /*! @angular/platform-browser */
6226      39075);
6227      /* harmony import */
6228
6229
6230      var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
6231      /*! @angular/router */
6232      39895);
6233
6234      var _MaintenanceComponent = /*#__PURE__*/function () {
6235        function _MaintenanceComponent(title) {
6236          _classCallCheck(this, _MaintenanceComponent);
6237
6238          this.title = title;
6239        }
6240
6241        _createClass(_MaintenanceComponent, [{
6242          key: "ngOnInit",
6243          value: function ngOnInit() {
6244            this.title.setTitle('Under Maintenance - Try again later! | Virtrolio');
6245          }
6246        }]);
6247
6248        return _MaintenanceComponent;
6249      }();
6250
6251      _MaintenanceComponent.ɵfac = function MaintenanceComponent_Factory(t) {
6252        return new (t || _MaintenanceComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title));
6253      };
6254
6255      _MaintenanceComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({
6256        type: _MaintenanceComponent,
6257        selectors: [["app-maintenance"]],
6258        decls: 18,
6259        vars: 0,
6260        consts: [[1, "container", "vertical-center", "montserrat", "align-items-center"], [1, "row", "justify-content-center", "col-md-6", "m-2"], [1, "display-text"], ["id", "maintenance-subheading", 1, "display-body-text"], ["routerLink", "/my-v
6260irtrolio"], [1, "display-body-text"], [1, "row", "justify-content-center", "mx-3", "mt-3"], ["src", "../../../assets/images/Maintenance.svg", "alt", "Under construction image", "id", "graphic"], [1, "row", "justify-content-center", "m-2"], ["routerLink", "/my-virtrolio", 1, "btn-lg", "btn-primary", "mt-5", "mb-2", "mx-3"], ["routerLink", "/", 1, "btn-lg", "btn-primary", "mt-5", "mb-2", "mx-3"]],
6261        template: function MaintenanceComponent_Template(rf, ctx) {
6262          if (rf & 1) {
6263            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
6264
6265            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1);
6266
6267            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "h1", 2);
6268
6269            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3, "Our website is currently under maintenance.");
6270
6271            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6272
6273            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "p", 3);
6274
6275            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](5, " While you can view ");
6276
6277            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](6, "a", 4);
6278
6279            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](7, "your virtrolio");
6280
6281            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6282
6283            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, " (and the rest of the website) as usual, sending messages will be unavailable for the time being. ");
6284
6285            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6286
6287            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](9, "p", 5);
6288
6289            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](10, "We apologize for the inconvenience.");
6290
6291            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6292
6293            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6294
6295            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](11, "div", 6);
6296
6297            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](12, "img", 7);
6298
6299            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6300
6301            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](13, "div", 8);
6302
6303            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](14, "button", 9);
6304
6305            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](15, " My virtrolio ");
6306
6307            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6308
6309            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](16, "button", 10);
6310
6311            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](17, " Back to Home ");
6312
6313            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6314
6315            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6316
6317            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6318          }
6319        },
6320        directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLinkWithHref, _angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink],
6321        styles: ["#graphic[_ngcontent-%COMP%] {\n  height: 10em;\n}\n\nh2[_ngcontent-%COMP%], h5[_ngcontent-%COMP%] {\n  text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n  #graphic[_ngcontent-%COMP%] {\n    height: 5em;\n  }\n\n  #maintenance-heading[_ngcontent-%COMP%] {\n    font-size: 1.4em;\n  }\n\n  #maintenance-subheading[_ngcontent-%COMP%] {\n    font-size: 1em;\n  }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW50ZW5hbmNlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7O0VBRUUsa0JBQWtCO0FBQ3BCOztBQUVBLFdBQVc7O0FBQ1g7RUFDRTtJQUNFLFdBQVc7RUFDYjs7RUFFQTtJQUNFLGdCQUFnQjtFQUNsQjs7RUFFQTtJQUNFLGNBQWM7RUFDaEI7QUFDRiIsImZpbGUiOiJtYWludGVuYW5jZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI2dyYXBoaWMge1xuICBoZWlnaHQ6IDEwZW07XG59XG5cbmgyLFxuaDUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjZ3JhcGhpYyB7XG4gICAgaGVpZ2h0OiA1ZW07XG4gIH1cblxuICAjbWFpbnRlbmFuY2UtaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxLjRlbTtcbiAgfVxuXG4gICNtYWludGVuYW5jZS1zdWJoZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxufVxuIl19 */"]
6322      });
6323      /***/
6324    },
6325
6326    /***/
6327    88198:
6328    /*!******************************************************!*\
6329      !*** ./src/app/pages/msg-sent/msg-sent.component.ts ***!
6330      \******************************************************/
6331
6332    /***/
6333    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6334      "use strict";
6335
6336      __webpack_require__.r(__webpack_exports__);
6337      /* harmony export */
6338
6339
6340      __webpack_require__.d(__webpack_exports__, {
6341        /* harmony export */
6342        "MsgSentComponent": function MsgSentComponent() {
6343          return (
6344            /* binding */
6345            _MsgSentComponent
6346          );
6347        }
6348        /* harmony export */
6349
6350      });
6351      /* harmony import */
6352
6353
6354      var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
6355      /*! @angular/core */
6356      37716);
6357      /* harmony import */
6358
6359
6360      var _angular_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
6361      /*! @angular/router */
6362      39895);
6363      /* harmony import */
6364
6365
6366      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
6367      /*! @angular/platform-browser */
6368      39075);
6369
6370      var _MsgSentComponent = /*#__PURE__*/function () {
6371        function _MsgSentComponent(route, title) {
6372          _classCallCheck(this, _MsgSentComponent);
6373
6374          this.route = route;
6375          this.title = title;
6376          this.name = 'Your friend';
6377        }
6378
6379        _createClass(_MsgSentComponent, [{
6380          key: "ngOnInit",
6381          value: function ngOnInit() {
6382            var _this13 = this;
6383
6384            this.route.queryParams.subscribe(function (params) {
6385              _this13.name = params.name;
6386
6387              _this13.title.setTitle('Message sent to ' + params.name + "! | Virtrolio - Stay connected. Even when you're apart.");
6388            });
6389          }
6390        }]);
6391
6392        return _MsgSentComponent;
6393      }();
6394
6395      _MsgSentComponent.ɵfac = function MsgSentComponent_Factory(t) {
6396        return new (t || _MsgSentComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_1__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__.Title));
6397      };
6398
6399      _MsgSentComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({
6400        type: _MsgSentComponent,
6401        selectors: [["app-msg-sent"]],
6402        decls: 11,
6403        vars: 1,
6404        consts: [[1, "container", "vertical-center", "montserrat"], [1, "row", "mx-3", "mt-3", "justify-content-center"], [1, "display-text"], [1, "row", "mx-2", "my-5", "justify-content-center"], ["alt", "Paper plane graphic", "id", "graphic", "src", "../../../assets/images/MessageSent-Light.svg"], ["id", "buttons", 1, "row", "justify-content-center", "mb-3"], ["routerLink", "/my-v
6404irtrolio", "type", "button", 1, "col-sm-4", "col-md-3", "btn", "btn-primary"], ["routerLink", "", "type", "button", 1, "col-sm-4", "col-md-3", "btn", "btn-primary"]],
6405        template: function MsgSentComponent_Template(rf, ctx) {
6406          if (rf & 1) {
6407            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
6408
6409            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1);
6410
6411            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "h1", 2);
6412
6413            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3);
6414
6415            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6416
6417            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6418
6419            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 3);
6420
6421            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](5, "img", 4);
6422
6423            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6424
6425            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](6, "div", 5);
6426
6427            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "button", 6);
6428
6429            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, " My virtrolio ");
6430
6431            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6432
6433            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](9, "button", 7);
6434
6435            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](10, " Home Page ");
6436
6437            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6438
6439            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6440
6441            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6442          }
6443
6444          if (rf & 2) {
6445            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](3);
6446
6447            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtextInterpolate1"](" ", ctx.name ? ctx.name : "Your friend", " will receive your message soon! ");
6448          }
6449        },
6450        directives: [_angular_router__WEBPACK_IMPORTED_MODULE_1__.RouterLink],
6451        styles: ["#graphic[_ngcontent-%COMP%] {\n  height: 15em;\n}\n\n#buttons[_ngcontent-%COMP%]    > button[_ngcontent-%COMP%] {\n  margin: 2em 1em 0;\n  font-size: 1.1em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n  font-size: 2em;\n  text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n  #graphic[_ngcontent-%COMP%] {\n    height: 10em;\n  }\n\n  #title-text[_ngcontent-%COMP%] {\n    font-size: 1.5em;\n  }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1zZy1zZW50LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGtCQUFrQjtBQUNwQjs7QUFFQSxXQUFXOztBQUNYO0VBQ0U7SUFDRSxZQUFZO0VBQ2Q7O0VBRUE7SUFDRSxnQkFBZ0I7RUFDbEI7QUFDRiIsImZpbGUiOiJtc2ctc2VudC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI2dyYXBoaWMge1xuICBoZWlnaHQ6IDE1ZW07XG59XG5cbiNidXR0b25zID4gYnV0dG9uIHtcbiAgbWFyZ2luOiAyZW0gMWVtIDA7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG59XG5cbiN0aXRsZS10ZXh0IHtcbiAgZm9udC1zaXplOiAyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogTW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNncmFwaGljIHtcbiAgICBoZWlnaHQ6IDEwZW07XG4gIH1cblxuICAjdGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgfVxufVxuIl19 */"]
6452      });
6453      /***/
6454    },
6455
6456    /***/
6457    32093:
6458    /*!**************************************************************!*\
6459      !*** ./src/app/pages/my-virtrolio/my-virtrolio.component.ts ***!
6460      \**************************************************************/
6461
6462    /***/
6463    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6464      "use strict";
6465
6466      __webpack_require__.r(__webpack_exports__);
6467      /* harmony export */
6468
6469
6470      __webpack_require__.d(__webpack_exports__, {
6471        /* harmony export */
6472        "MyVirtrolioComponent": function MyVirtrolioComponent() {
6473          return (
6474            /* binding */
6475            _MyVirtrolioComponent
6476          );
6477        }
6478        /* harmony export */
6479
6480      });
6481      /* harmony import */
6482
6483
6484      var _core_common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
6485      /*! ../../core/common.service */
6486      80150);
6487      /* harmony import */
6488
6489
6490      var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
6491      /*! @angular/core */
6492      37716);
6493      /* harmony import */
6494
6495
6496      var _core_auth_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
6497      /*! ../../core/auth.service */
6498      87341);
6499      /* harmony import */
6500
6501
6502      var _core_sharing_link_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
6503      /*! ../../core/sharing-link.service */
6504      84157);
6505      /* harmony import */
6506
6507
6508      var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
6509      /*! @angular/router */
6510      39895);
6511      /* harmony import */
6512
6513
6514      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
6515      /*! @angular/platform-browser */
6516      39075);
6517      /* harmony import */
6518
6519
6520      var _angular_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
6521      /*! @angular/common */
6522      38583);
6523      /* harmony import */
6524
6525
6526      var _angular_forms__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
6527      /*! @angular/forms */
6528      3679);
6529
6530      function MyVirtrolioComponent_div_52_Template(rf, ctx) {
6531        if (rf & 1) {
6532          var _r7 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"]();
6533
6534          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 47);
6535
6536          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "label", 48);
6537
6538          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](2, "Share");
6539
6540          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6541
6542          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "button", 49);
6543
6544          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_div_52_Template_button_click_3_listener() {
6545            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r7);
6546
6547            var ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
6548
6549            return ctx_r6.shareLink();
6550          });
6551
6552          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](4, " Share your link ");
6553
6554          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6555
6556          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6557        }
6558      }
6559
6560      function MyVirtrolioComponent_ng_template_53_Template(rf, ctx) {
6561        if (rf & 1) {
6562          var _r9 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"]();
6563
6564          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 50);
6565
6566          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "div");
6567
6568          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](2, "h6");
6569
6570          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](3, "Use the buttons below to share your link!");
6571
6572          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6573
6574          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6575
6576          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "button", 51);
6577
6578          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_ng_template_53_Template_button_click_4_listener() {
6579            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r9);
6580
6581            var ctx_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
6582
6583            return ctx_r8.postOnSocial("facebook");
6584          });
6585
6586          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](5, "img", 52);
6587
6588          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](6, "span", 53);
6589
6590          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](7, "Facebook");
6591
6592          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6593
6594          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6595
6596          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](8, "button", 54);
6597
6598          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_ng_template_53_Template_button_click_8_listener() {
6599            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r9);
6600
6601            var ctx_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
6602
6603            return ctx_r10.postOnSocial("twitter");
6604          });
6605
6606          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](9, "img", 55);
6607
6608          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](10, "span");
6609
6610          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](11, "Twitter");
6611
6612          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6613
6614          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6615
6616          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "button", 56);
6617
6618          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_ng_template_53_Template_button_click_12_listener() {
6619            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r9);
6620
6621            var ctx_r11 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
6622
6623            return ctx_r11.postOnSocial("email");
6624          });
6625
6626          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](13, "img", 57);
6627
6628          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](14, "span", 53);
6629
6630          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](15, "Email");
6631
6632          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6633
6634          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6635
6636          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](16, "hr");
6637
6638          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6639        }
6640      }
6641
6642      function MyVirtrolioComponent_div_61_Template(rf, ctx) {
6643        if (rf & 1) {
6644          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 58);
6645
6646          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](1, " Are you sure? Generating a new link will invalidate any other links that you have generated! Click generate again to confirm. ");
6647
6648          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6649        }
6650      }
6651      /**
6652       * 'My virtrolio.' Displays your virtrolio as a 'book' on screen and allows you to generate a sharing link.
6653       */
6654
6655
6656      var _MyVirtrolioComponent = /*#__PURE__*/function () {
6657        function _MyVirtrolioComponent(authService, sharingLinkService, router, title) {
6658          _classCallCheck(this, _MyVirtrolioComponent);
6659
6660          this.authService = authService;
6661          this.sharingLinkService = sharingLinkService;
6662          this.router = router;
6663          this.title = title;
6664          this.currentYear = _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.CURRENT_YEAR;
6665          /** Default values */
6666
6667          this.link = 'Getting your link...';
6668          this.linkReady = false;
6669          this.showWarningText = false;
6670          this.copyButtonText = 'Copy';
6671        }
6672
6673        _createClass(_MyVirtrolioComponent, [{
6674          key: "ngOnInit",
6675          value: function ngOnInit() {
6676            var _this14 = this;
6677
6678            this.authService.displayName().then(function (displayName) {
6679              _this14.displayName = displayName;
6680
6681              _this14.title.setTitle(displayName + "'s Virtrolio | Virtrolio");
6682            });
6683            this.authService.redirectLoginUserCreation()["catch"](function (error) {
6684              return _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
6685            });
6686            this.navigator = window.navigator;
6687          }
6688        }, {
6689          key: "ngOnDestroy",
6690          value: function ngOnDestroy() {
6691            $('#link-gen').modal('hide');
6692            $('#send-message').modal('hide');
6693          }
6694          /**
6695           * Check if user can share using a native sharing mechanism (i.e. if they are on mobile)
6696           * @returns - True if the user has a native sharing mechanism available
6697           */
6698
6699        }, {
6700          key: "canShare",
6701          value: function canShare() {
6702            return this.navigator && this.navigator.share;
6703          }
6704          /**
6705           * Selects an inputElement's field and copies its contents to the clipboard, updating the button to confirm the copy
6706           * @param inputElement - the element to read from
6707           */
6708
6709        }, {
6710          key: "copyLink",
6711          value: function copyLink(inputElement) {
6712            inputElement.select();
6713            inputElement.setSelectionRange(0, 10000);
6714            document.execCommand('copy');
6715            this.copyButtonText = 'Copied!';
6716          }
6717          /**
6718           * Fetches the user's sharing link, alerts an error on invalid link
6719           */
6720
6721        }, {
6722          key: "setLink",
6723          value: function setLink() {
6724            var _this15 = this;
6725
6726            this.copyButtonText = 'Copy';
6727            this.sharingLinkService.getLink().then(function (link) {
6728              _this15.link = link;
6729              _this15.linkReady = true;
6730            });
6731          }
6732          /**
6733           * Attempts to navigate by router to a sharing link based on what is inputted in the 'send a message' input field
6734           * (query params extracted with regEx if possible)
6735           */
6736
6737        }, {
6738          key: "navigateToLink",
6739          value: function navigateToLink() {
6740            if (this.visitLink) {
6741              try {
6742                // noinspection JSIgnoredPromiseFromCall
6743                this.visitLinkUID = this.visitLink.match(/uid=([^&]*)/)[1];
6744                this.visitLinkKEY = this.visitLink.match(/key=([^&]*)/)[1];
6745                window.location.href = '/signing?uid=' + this.visitLinkUID + '&key=' + this.visitLinkKEY;
6746              } catch (e) {
6747                this.router.navigate(['/invalid-link'])["catch"](function (e) {
6748                  return _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e);
6749                });
6750              }
6751            }
6752          }
6753          /**
6754           * Share 'sharing link' using device native sharing mechanism. Should only be available on the front end to the user
6755           * if they have a native sharing mechanism.
6756           */
6757
6758        }, {
6759          key: "shareLink",
6760          value: function shareLink() {
6761            if (this.canShare()) {
6762              this.navigator.share({
6763                title: this.displayName + "'s virtrolio for " + _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.CURRENT_YEAR + '!',
6764                text: 'Sign my virtual yearbook!',
6765                url: this.link
6766              })["catch"](function (error) {
6767                return _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError('Sharing Error: ' + error);
6768              });
6769            } else {
6770              _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError('Sharing Error: Native Share not supported on this browser: ' + navigator.userAgent);
6771            }
6772          }
6773          /**
6774           * Share the user's sharing link on the appropriate platform
6775           * @param platform - platform on which to post the sharing link
6776           */
6777
6778        }, {
6779          key: "postOnSocial",
6780          value: function postOnSocial(platform) {
6781            var urlFriendlyLink = 'https%3A//virtrolio.web.app/signing?uid=' + this.authService.uid() + '%26key=' + this.link.match(/key=([^&]*)/)[1];
6782            var bodyText = 'Sign%20my%20virtual%20yearbook!';
6783
6784            if (platform === 'facebook') {
6785              window.open('https://www.facebook.com/sharer/sharer.php?u=' + urlFriendlyLink, '_blank');
6786            } else if (platform === 'twitter') {
6787              window.open('https://twitter.com/intent/tweet?url=' + urlFriendlyLink + '&text=' + bodyText, '_blank');
6788            } else if (platform === 'email') {
6789              window.open('mailto:?subject=' + 'Virtrolio%20-%20Online%20Yearbook%20Signing!' + '&body=' + bodyText 
6789+ '%0D%0A' + urlFriendlyLink, '_blank');
6790            } else {
6791              _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError('Sharing Error: Unsupported social media platform: ' + platform);
6792            }
6793          }
6794          /**
6795           * Toggles between displaying warning text and updating the sharing link in the text box.
6796           */
6797
6798        }, {
6799          key: "warnAndGenerate",
6800          value: function warnAndGenerate() {
6801            var _this16 = this;
6802
6803            if (this.showWarningText) {
6804              this.link = 'Generating new link...';
6805              this.linkReady = false;
6806              this.copyButtonText = 'Copy';
6807              this.sharingLinkService.changeKey().then(function () {
6808                return _this16.setLink();
6809              })["catch"](function (error) {
6810                return _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
6811              });
6812              this.setLink();
6813            }
6814
6815            this.showWarningText = !this.showWarningText;
6816          }
6817        }]);
6818
6819        return _MyVirtrolioComponent;
6820      }();
6821
6822      _MyVirtrolioComponent.ɵfac = function MyVirtrolioComponent_Factory(t) {
6823        return new (t || _MyVirtrolioComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_core_auth_service__WEBPACK_IMPORTED_MODULE_1__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_core_sharing_link_service__WEBPACK_IMPORTED_MODULE_2__.SharingLinkService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_4__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__.Title));
6824      };
6825
6826      _MyVirtrolioComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineComponent"]({
6827        type: _MyVirtrolioComponent,
6828        selectors: [["app-my-virtrolio"]],
6829        decls: 94,
6830        vars: 11,
6831        consts: [[1, "container", "montserrat", "vertical-center"], [1, "row", "justify-content-center"], [1, "vertical-center", "mx-5", "my-3", "my-lg-0"], ["id", "virtrolio-outer-div", "routerLink", "/viewing", 1, "bg-primary", "rounded"], ["id", "virtrolio-title", 1, "bg-light", "p-3", "mt-4", "m-4", "rounded", "vertical-center"], [1, "mt-5"], ["id", "users-virtrolio"], [1, "col-lg-3", "col-md-4", "col-sm-5", "px-2", "vertical-center"], ["id", "buttons"], [1, "row"], ["data-target", "#link-gen", "data-toggle", "modal", "type", "button", 1, "btn-lg", "btn-primary", 3, "click"], ["routerLink", "/viewing", "type", "button", 1, "btn-lg", "btn-primary"], ["data-target", "#send-message", "data-toggle", "modal", "type", "button", 1, "btn-lg", "btn-primary"], ["routerLink", "/settings", "type", "button", 1, "btn-lg", "btn-primary"], [1, "col-lg-1"], ["aria-hidden", "true", "aria-labelledby", "link-gen-title", "id", "link-gen", "role", "dialog", "tabindex", "-1", 1, "modal", "fade"], ["role", "document", 1, "modal-dialog", "modal-dialog-centered"], [1, "modal-content"], [1, "modal-header"], ["id", "link-gen-title", 1, "modal-title"], ["aria-label", "Close", "data-dismiss", "modal", "type", "button", 1, "close"], ["aria-hidden", "true"], [1, "modal-body", "sharing-link-body"], ["for", "sharing-link-field"], [1, "align-items-center", "my-3"], [1, "input-group", "mb-3"], ["id", "sharing-link-field", "readonly", "", "type", "text", 1, "form-control", 3, "disabled", "value", "click"], ["sharingLink", ""], [1, "input-group-append"], ["id", "button-copy", "type", "button", 1, "btn", "btn-primary", "align-middle", 3, "disabled", "click"], ["id", "sharing-link-buttons", 1, "row", "justify-content-center"], ["class", "col-sm-5 px-0 vertical-center my-2 mx-sm-1", 4, "ngIf", "ngIfElse"], ["desktopSharing", ""], [1, "col-sm-5", "px-0"], ["for", "button-new-link"], ["id", "button-new-link", "type", "button", 1, "btn", "btn-secondary", "w-100", "my-2", "mx-sm-1", 3, "click"], ["id", "warning-div", 4, "ngIf"], ["id", "generate-link-desc", 1, "mt-3"], ["aria-hidden", "true", "aria-labelledby", "send-message-modal-title", "id", "send-message", "role", "dialog", "tabindex", "-1", 1, "modal", "fade"], ["id", "send-message-modal-title", 1, "modal-title"], [1, "input-group"], ["for", "input-sharing-field", "id", "input-sharing-label", 2, "display", "none"], ["id", "input-sharing-field", "type", "text", "placeholder", "Input your friend's link here", "aria-label", "sign-friend", 1, "form-control", 3, "ngModel", "click", "ngModelChange"], ["inputSharing", ""], ["aria-label", "Close", "data-dismiss", "modal", "id", "button-go", "type", "button", 1, "btn", "btn-primary", "align-middle", "button-modal", 3, "click"], [1, "modal-footer"], ["data-dismiss", "modal", "type", "button", 1, "btn", "btn-secondary"], [1, "col-sm-5", "px-0", "vertical-center", "my-2", "mx-sm-1"], ["for", "button-share-mobile"], ["id", "button-share-mobile", "type", "button", 1, "btn", "btn-success", "w-100", 3, "click"], ["id", "sharing-buttons", 1, "row", "w-100"], ["role", "button", "id", "facebook-button", 1, "btn", "btn-secondary", "col-sm-3", "mx-sm-3", "my-2", 3, "click"], ["src", "../../../assets/images/icons/facebook.svg", "alt", "Share with Facebook", 1, "mr-2"], [1, "mr-1"], ["role", "button", "id", "twitter-button", 1, "btn", "btn-secondary", "col-sm-3", "mx-sm-3", "my-2", 3, "click"], ["src", "../../../assets/images/icons/twitter.svg", "alt", "Share with Twitter", 1, "mr-2"], ["role", "button", "id", "email-button", 1, "btn", "btn-secondary", "col-sm-3", "mx-sm-3", "my-2", 3, "click"], ["src", "../../../assets/images/icons/mail.svg", "alt", "Share with Email", 1, "mr-2"], ["id", "warning-div"]],
6832        template: function MyVirtrolioComponent_Template(rf, ctx) {
6833          if (rf & 1) {
6834            var _r12 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"]();
6835
6836            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 0);
6837
6838            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "div", 1);
6839
6840            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](2, "div", 2);
6841
6842            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "div", 3);
6843
6844            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "div", 4);
6845
6846            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](5, "h1");
6847
6848            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](6);
6849
6850            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6851
6852            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6853
6854            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](7, "div", 5);
6855
6856            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](8, "h2", 6);
6857
6858            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](9);
6859
6860            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](10, "br");
6861
6862            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](11, " virtrolio ");
6863
6864            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6865
6866            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6867
6868            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6869
6870            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6871
6872            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "div", 7);
6873
6874            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](13, "div", 8);
6875
6876            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](14, "div", 9);
6877
6878            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](15, "button", 10);
6879
6880            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_Template_button_click_15_listener() {
6881              ctx.setLink();
6882              return ctx.showWarningText = false;
6883            });
6884
6885            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](16, " Sharing Link ");
6886
6887            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6888
6889            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6890
6891            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](17, "div", 9);
6892
6893            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](18, "button", 11);
6894
6895            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](19, " View Messages ");
6896
6897            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6898
6899            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6900
6901            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](20, "div", 9);
6902
6903            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](21, "button", 12);
6904
6905            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](22, " Send a Message ");
6906
6907            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6908
6909            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6910
6911            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](23, "div", 9);
6912
6913            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](24, "button", 13);
6914
6915            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](25, " Settings ");
6916
6917            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6918
6919            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6920
6921            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6922
6923            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6924
6925            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](26, "div", 14);
6926
6927            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6928
6929            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6930
6931            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](27, "div", 15);
6932
6933            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](28, "div", 16);
6934
6935            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](29, "div", 17);
6936
6937            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](30, "div", 18);
6938
6939            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](31, "h5", 19);
6940
6941            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](32, " Ahoy, your sharing link has been prepared! ");
6942
6943            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6944
6945            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](33, "button", 20);
6946
6947            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](34, "span", 21);
6948
6949            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](35, "\xD7");
6950
6951            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6952
6953            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6954
6955            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6956
6957            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](36, "div", 22);
6958
6959            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](37, "p");
6960
6961            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](38, " This is ");
6962
6963            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](39, "b");
6964
6965            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](40, "your");
6966
6967            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6968
6969            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](41, " sharing link; only share it with people you trust. ");
6970
6971            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6972
6973            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](42, "label", 23);
6974
6975            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](43, "Your Link:");
6976
6977            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6978
6979            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](44, "div", 24);
6980
6981            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](45, "div", 25);
6982
6983            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](46, "input", 26, 27);
6984
6985            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_Template_input_click_46_listener() {
6986              _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r12);
6987
6988              var _r0 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵreference"](47);
6989
6990              return ctx.copyLink(_r0);
6991            });
6992
6993            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6994
6995            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](48, "div", 28);
6996
6997            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](49, "button", 29);
6998
6999            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_Template_button_click_49_listener() {
7000              _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r12);
7001
7002              var _r0 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵreference"](47);
7003
7004              return ctx.copyLink(_r0);
7005            });
7006
7007            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](50);
7008
7009            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7010
7011            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7012
7013            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7014
7015            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7016
7017            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](51, "div", 30);
7018
7019            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](52, MyVirtrolioComponent_div_52_Template, 5, 0, "div", 31);
7020
7021            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](53, MyVirtrolioComponent_ng_template_53_Template, 17, 0, "ng-template", null, 32, _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplateRefExtractor"]);
7022
7023            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](55, "div", 33);
7024
7025            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](56, "label", 34);
7026
7027            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](57, "Click to generate a new link");
7028
7029            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7030
7031            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](58, "button", 35);
7032
7033            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_Template_button_click_58_listener() {
7034              return ctx.warnAndGenerate();
7035            });
7036
7037            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](59, " Generate new link ");
7038
7039            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7040
7041            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7042
7043            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7044
7045            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](60, "div", 9);
7046
7047            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](61, MyVirtrolioComponent_div_61_Template, 2, 0, "div", 36);
7048
7049            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](62, "div", 37);
7050
7051            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](63, "h6");
7052
7053            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](64, "Why would I want to generate a new link?");
7054
7055            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7056
7057            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](65, "p");
7058
7059            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](66, " If you want people to stop being able to use your old one! Comes in handy if people are signing your virtrolio whom you don't approve of. ");
7060
7061            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7062
7063            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7064
7065            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7066
7067            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7068
7069            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7070
7071            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7072
7073            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7074
7075            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](67, "div", 38);
7076
7077            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](68, "div", 16);
7078
7079            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](69, "div", 17);
7080
7081            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](70, "div", 18);
7082
7083            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](71, "h5", 39);
7084
7085            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](72, " Signing a friend's virtrolio ");
7086
7087            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7088
7089            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](73, "button", 20);
7090
7091            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](74, "span", 21);
7092
7093            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](75, "\xD7");
7094
7095            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7096
7097            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7098
7099            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7100
7101            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](76, "div", 22);
7102
7103            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](77, "p");
7104
7105            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](78, " To sign a friend's virtrolio, they need to give you their 'sharing link'! You can paste your friend's sharing link below or directly into your browser search bar. To access ");
7106
7107            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](79, "em");
7108
7109            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](80, "your");
7110
7111            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7112
7113            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](81, " sharing link, click the 'Sharing Link' button on this page! ");
7114
7115            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7116
7117            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](82, "div", 24);
7118
7119            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](83, "div", 40);
7120
7121            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](84, "label", 41);
7122
7123            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](85, "Visit friend link");
7124
7125            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7126
7127            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](86, "input", 42, 43);
7128
7129            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_Template_input_click_86_listener() {
7130              _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r12);
7131
7132              var _r5 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵreference"](87);
7133
7134              return ctx.copyLink(_r5);
7135            })("ngModelChange", function MyVirtrolioComponent_Template_input_ngModelChange_86_listener($event) {
7136              return ctx.visitLink = $event;
7137            });
7138
7139            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7140
7141            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](88, "div", 28);
7142
7143            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](89, "button", 44);
7144
7145            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_Template_button_click_89_listener() {
7146              return ctx.navigateToLink();
7147            });
7148
7149            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](90, " Go ");
7150
7151            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7152
7153            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7154
7155            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7156
7157            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7158
7159            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7160
7161            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](91, "div", 45);
7162
7163            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](92, "button", 46);
7164
7165            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](93, " Close ");
7166
7167            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7168
7169            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7170
7171            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7172
7173            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7174
7175            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
7176          }
7177
7178          if (rf & 2) {
7179            var _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵreference"](54);
7180
7181            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](6);
7182
7183            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate2"]("", ctx.currentYear - 1, "-", ctx.currentYear, "");
7184
7185            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
7186
7187            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", ctx.displayName, "'s ");
7188
7189            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](37);
7190
7191            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpropertyInterpolate"]("value", ctx.link);
7192
7193            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("disabled", !ctx.linkReady);
7194
7195            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
7196
7197            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("disabled", !ctx.linkReady);
7198
7199            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
7200
7201            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", ctx.copyButtonText, " ");
7202
7203            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
7204
7205            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.canShare())("ngIfElse", _r2);
7206
7207            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](9);
7208
7209            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.showWarningText);
7210
7211            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](25);
7212
7213            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngModel", ctx.visitLink);
7214          }
7215        },
7216        directives: [_angular_router__WEBPACK_IMPORTED_MODULE_4__.RouterLink, _angular_common__WEBPACK_IMPORTED_MODULE_6__.NgIf, _angular_forms__WEBPACK_IMPORTED_MODULE_7__.DefaultValueAccessor, _angular_forms__WEBPACK_IMPORTED_MODULE_7__.NgControlStatus, _angular_forms__WEBPACK_IMPORTED_MODULE_7__.NgModel],
7217        styles: ["#virtrolio-outer-div[_ngcontent-%COMP%] {\n  \n  height: 64vh;\n  width: 45vh;\n  box-shadow: 5px 10px var(--light-grey);\n  cursor: pointer;\n}\n\n.bg-primary[_ngcontent-%COMP%]:hover {\n  background-color: var(--dark-accent) !important;\n}\n\n.btn-primary[_ngcontent-%COMP%]:disabled {\n  background-color: var(--light-grey);\n}\n\n#virtrolio-title[_ngcontent-%COMP%] {\n  \n  height: 17vh;\n  text-align: center;\n}\n\n#virtrolio-title[_ngcontent-%COMP%]    > h1[_ngcontent-%COMP%] {\n  font-size: 180%;\n}
7217\n\n#users-virtrolio[_ngcontent-%COMP%] {\n  \n  text-align: center;\n  color: white;\n  line-height: 1.5;\n  font-size: 140%;\n}\n\n\n\n#buttons[_ngcontent-%COMP%]    > *.row[_ngcontent-%COMP%]    > *[_ngcontent-%COMP%] {\n  \n  height: 4em;\n  width: 100%;\n  margin: 1.2em;\n  overflow: auto;\n  box-shadow: var(--signing-shadow);\n}\n\n\n\n.sharing-link-body[_ngcontent-%COMP%] {\n  text-align: center;\n  padding: 0.8em;\n}\n\n.sharing-link-body[_ngcontent-%COMP%]    > *[_ngcontent-%COMP%] {\n  \n  margin: 0.4em;\n}\n\n.sharing-link-body[_ngcontent-%COMP%]    > input[_ngcontent-%COMP%] {\n  \n  width: 60%;\n  height: 2em;\n  padding: 0.2em;\n  overflow-x: auto;\n}\n\n.sharing-link-body[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%], #sharing-link-buttons[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%], #sharing-link-buttons[_ngcontent-%COMP%]    > div[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  display: none;\n}\n\n#sharing-link-buttons[_ngcontent-%COMP%]    > div[_ngcontent-%COMP%] {\n  display: inline-block;\n}\n\n#sharing-link-field[_ngcontent-%COMP%] {\n  background: white;\n}\n\n#facebook-button[_ngcontent-%COMP%] {\n  background-color: #3b5998;\n}\n\n#twitter-button[_ngcontent-%COMP%] {\n  background-color: #1da1f2;\n}\n\n#email-button[_ngcontent-%COMP%] {\n  background-color: #b23122;\n}\n\n#sharing-buttons[_ngcontent-%COMP%]    > button[_ngcontent-%COMP%] {\n  border: 0;\n  font-size: 0.8em;\n}\n\n#sharing-buttons[_ngcontent-%COMP%]    > button[_ngcontent-%COMP%]    > img[_ngcontent-%COMP%] {\n  height: 80%;\n}\n\n.button-modal[_ngcontent-%COMP%] {\n  width: 4.5em;\n  padding: 0.4em;\n}\n\n#button-new-link[_ngcontent-%COMP%] {\n  height: 2.4em;\n  width: 10em;\n  padding: 0.2em;\n  margin: auto;\n}\n\n#warning-div[_ngcontent-%COMP%] {\n  color: #f05555;\n  text-align: center;\n  padding: 0.4em;\n}\n\n#generate-link-desc[_ngcontent-%COMP%] {\n  text-align: left;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm15LXZpcnRyb2xpby5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBCQUEwQjs7QUFFMUI7RUFDRSw4Q0FBOEM7RUFDOUMsWUFBWTtFQUNaLFdBQVc7RUFDWCxzQ0FBc0M7RUFDdEMsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLCtDQUErQztBQUNqRDs7QUFFQTtFQUNFLG1DQUFtQztBQUNyQzs7QUFFQTtFQUNFLDJCQUEyQjtFQUMzQixZQUFZO0VBQ1osa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLCtDQUErQztFQUMvQyxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQixlQUFlO0FBQ2pCOztBQUVBLG9CQUFvQjs7QUFFcEI7RUFDRSx1REFBdUQ7RUFDdkQsV0FBVztFQUNYLFdBQVc7RUFDWCxhQUFhO0VBQ2IsY0FBYztFQUNkLGlDQUFpQztBQUNuQzs7QUFFQSx1Q0FBdUM7O0FBRXZDO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSwrQ0FBK0M7RUFDL0MsYUFBYTtBQUNmOztBQUVBO0VBQ0UsMkJBQTJCO0VBQzNCLFVBQVU7RUFDVixXQUFXO0VBQ1gsY0FBYztFQUNkLGdCQUFnQjtBQUNsQjs7QUFFQTs7O0VBR0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UscUJBQXFCO0FBQ3ZCOztBQUVBO0VBQ0UsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UsU0FBUztFQUNULGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFlBQVk7RUFDWixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLFdBQVc7RUFDWCxjQUFjO0VBQ2QsWUFBWTtBQUNkOztBQUVBO0VBQ0UsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCIiwiZmlsZSI6Im15LXZpcnRyb2xpby5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogfHwgVmlydHJvbGlvIGNvdmVyIHx8ICovXG5cbiN2aXJ0cm9saW8tb3V0ZXItZGl2IHtcbiAgLyogRGl2IGVuY2xvc2luZyB2aXJ0cm9saW8gKG91dHNpZGUgPGE+IHRhZykgKi9cbiAgaGVpZ2h0OiA2NHZoO1xuICB3aWR0aDogNDV2aDtcbiAgYm94LXNoYWRvdzogNXB4IDEwcHggdmFyKC0tbGlnaHQtZ3JleSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmJnLXByaW1hcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrLWFjY2VudCkgIWltcG9ydGFudDtcbn1cblxuLmJ0bi1wcmltYXJ5OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG59XG5cbiN2aXJ0cm9saW8tdGl0bGUge1xuICAvKiBUaXRsZSBvZiB0aGUgdmlydHJvbGlvICovXG4gIGhlaWdodDogMTd2aDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jdmlydHJvbGlvLXRpdGxlID4gaDEge1xuICBmb250LXNpemU6IDE4MCU7XG59XG5cbiN1c2Vycy12aXJ0cm9saW8ge1xuICAvKiBcIlVzZXIncyB2aXJ0cm9saW9cIiB0ZXh0IG9uIHZpcnRyb2xpbyBjb3ZlciAqL1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC1zaXplOiAxNDAlO1xufVxuXG4vKiB8fCBTaWRlIEJ1dHRvbnMgKi9cblxuI2J1dHRvbnMgPiAqLnJvdyA+ICoge1xuICAvKiBFYWNoIGluZGl2aWR1YWwgYnV0dG9uIHdpbGwgaGF2ZSB0aGVzZSBwcm9wZXJ0aWVzOiAqL1xuICBoZWlnaHQ6IDRlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMS4yZW07XG4gIG92ZXJmbG93OiBhdXRvO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaWduaW5nLXNoYWRvdyk7XG59XG5cbi8qIHwgU2hhcmluZyAmIFNlbmQgYSBtZXNzYWdlIGJ1dHRvbnMgKi9cblxuLnNoYXJpbmctbGluay1ib2R5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwLjhlbTtcbn1cblxuLnNoYXJpbmctbGluay1ib2R5ID4gKiB7XG4gIC8qIEVhY2ggaXRlbSBpbnNpZGUgYSBzaGFyaW5nLWxpbmsgbW9kYWwgYm9keSAqL1xuICBtYXJnaW46IDAuNGVtO1xufVxuXG4uc2hhcmluZy1saW5rLWJvZHkgPiBpbnB1dCB7XG4gIC8qIEZyaWVuZCBsaW5rIHRleHQgZmllbGQgKi9cbiAgd2lkdGg6IDYwJTtcbiAgaGVpZ2h0OiAyZW07XG4gIHBhZGRpbmc6IDAuMmVtO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4uc2hhcmluZy1saW5rLWJvZHkgPiBsYWJlbCxcbiNzaGFyaW5nLWxpbmstYnV0dG9ucyA+IGxhYmVsLFxuI3NoYXJpbmctbGluay1idXR0b25zID4gZGl2ID4gbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jc2hhcmluZy1saW5rLWJ1dHRvbnMgPiBkaXYge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbiNzaGFyaW5nLWxpbmstZmllbGQge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cblxuI2ZhY2Vib29rLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjU5OTg7XG59XG5cbiN0d2l0dGVyLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZGExZjI7XG59XG5cbiNlbWFpbC1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIzMTIyO1xufVxuXG4jc2hhcmluZy1idXR0b25zID4gYnV0dG9uIHtcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuXG4jc2hhcmluZy1idXR0b25zID4gYnV0dG9uID4gaW1nIHtcbiAgaGVpZ2h0OiA4MCU7XG59XG5cbi5idXR0b24tbW9kYWwge1xuICB3aWR0aDogNC41ZW07XG4gIHBhZGRpbmc6IDAuNGVtO1xufVxuXG4jYnV0dG9uLW5ldy1saW5rIHtcbiAgaGVpZ2h0OiAyLjRlbTtcbiAgd2lkdGg6IDEwZW07XG4gIHBhZGRpbmc6IDAuMmVtO1xuICBtYXJnaW46IGF1dG87XG59XG5cbiN3YXJuaW5nLWRpdiB7XG4gIGNvbG9yOiAjZjA1NTU1O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNGVtO1xufVxuXG4jZ2VuZXJhdGUtbGluay1kZXNjIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbiJdfQ== */"]
7218      });
7219      /***/
7220    },
7221
7222    /***/
7223    78340:
7224    /*!******************************************************************!*\
7225      !*** ./src/app/pages/page-not-found/page-not-found.component.ts ***!
7226      \******************************************************************/
7227
7228    /***/
7229    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7230      "use strict";
7231
7232      __webpack_require__.r(__webpack_exports__);
7233      /* harmony export */
7234
7235
7236      __webpack_require__.d(__webpack_exports__, {
7237        /* harmony export */
7238        "PageNotFoundComponent": function PageNotFoundComponent() {
7239          return (
7240            /* binding */
7241            _PageNotFoundComponent
7242          );
7243        }
7244        /* harmony export */
7245
7246      });
7247      /* harmony import */
7248
7249
7250      var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
7251      /*! @angular/core */
7252      37716);
7253      /* harmony import */
7254
7255
7256      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
7257      /*! @angular/platform-browser */
7258      39075);
7259      /* harmony import */
7260
7261
7262      var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
7263      /*! @angular/router */
7264      39895);
7265
7266      var _PageNotFoundComponent = /*#__PURE__*/function () {
7267        function _PageNotFoundComponent(title) {
7268          _classCallCheck(this, _PageNotFoundComponent);
7269
7270          this.title = title;
7271        }
7272
7273        _createClass(_PageNotFoundComponent, [{
7274          key: "ngOnInit",
7275          value: function ngOnInit() {
7276            this.title.setTitle('Page Not Found | Virtrolio');
7277          }
7278        }]);
7279
7280        return _PageNotFoundComponent;
7281      }();
7282
7283      _PageNotFoundComponent.ɵfac = function PageNotFoundComponent_Factory(t) {
7284        return new (t || _PageNotFoundComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title));
7285      };
7286
7287      _PageNotFoundComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({
7288        type: _PageNotFoundComponent,
7289        selectors: [["app-page-not-found"]],
7290        decls: 17,
7291        vars: 0,
7292        consts: [[1, "container", "vertical-center", "montserrat"], [1, "row", "justify-content-center", "mx-3", "mt-3"], [1, "col-md-2"], [1, "col-md-8"], [1, "display-text"], [1, "row", "justify-content-center", "mx-3"], [1, "display-body-text"], ["href", "mailto:[email protected]"], ["alt", "Page Not Found graphic", "id", "pnf-graphic", "src", "../../../assets/images/PageNotFound.svg"], [1, "row", "justify-content-center", "my-3"], ["routerLink", "", 1, "btn-lg", "btn-primary", "mt-5"]],
7293        template: function PageNotFoundComponent_Template(rf, ctx) {
7294          if (rf & 1) {
7295            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
7296
7297            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1);
7298
7299            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](2, "div", 2);
7300
7301            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](3, "div", 3);
7302
7303            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "h1", 4);
7304
7305            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](5, "The page you are looking for doesn't exist");
7306
7307            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7308
7309            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7310
7311            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](6, "div", 2);
7312
7313            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7314
7315            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "div", 5);
7316
7317            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](8, "p", 6);
7318
7319            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](9, " Should it? You can contact us at ");
7320
7321            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](10, "a", 7);
7322
7323            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](11, "[email protected]");
7324
7325            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7326
7327            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7328
7329            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7330
7331            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](12, "div", 1);
7332
7333            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](13, "img", 8);
7334
7335            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7336
7337            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](14, "div", 9);
7338
7339            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](15, "button", 10);
7340
7341            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](16, "Back to Home");
7342
7343            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7344
7345            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7346
7347            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7348          }
7349        },
7350        directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink],
7351        styles: ["#pnf-graphic[_ngcontent-%COMP%] {\n  height: 10em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n  font-size: 2.5em;
7351\n  text-align: center;\n}\n\n#subtitle-text[_ngcontent-%COMP%] {\n  font-size: large;\n  text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n  #graphic[_ngcontent-%COMP%] {\n    height: 5em;\n  }\n\n  #title-text[_ngcontent-%COMP%] {\n    font-size: 2em;\n  }\n\n  #subtitle-text[_ngcontent-%COMP%] {\n    font-size: 1em;\n  }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhZ2Utbm90LWZvdW5kLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtBQUNwQjs7QUFFQSxXQUFXOztBQUNYO0VBQ0U7SUFDRSxXQUFXO0VBQ2I7O0VBRUE7SUFDRSxjQUFjO0VBQ2hCOztFQUVBO0lBQ0UsY0FBYztFQUNoQjtBQUNGIiwiZmlsZSI6InBhZ2Utbm90LWZvdW5kLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjcG5mLWdyYXBoaWMge1xuICBoZWlnaHQ6IDEwZW07XG59XG5cbiN0aXRsZS10ZXh0IHtcbiAgZm9udC1zaXplOiAyLjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jc3VidGl0bGUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogbGFyZ2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogTW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNncmFwaGljIHtcbiAgICBoZWlnaHQ6IDVlbTtcbiAgfVxuXG4gICN0aXRsZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgfVxuXG4gICNzdWJ0aXRsZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxufVxuIl19 */"]
7352      });
7353      /***/
7354    },
7355
7356    /***/
7357    3654:
7358    /*!******************************************************************!*\
7359      !*** ./src/app/pages/privacy-policy/privacy-policy.component.ts ***!
7360      \******************************************************************/
7361
7362    /***/
7363    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7364      "use strict";
7365
7366      __webpack_require__.r(__webpack_exports__);
7367      /* harmony export */
7368
7369
7370      __webpack_require__.d(__webpack_exports__, {
7371        /* harmony export */
7372        "PrivacyPolicyComponent": function PrivacyPolicyComponent() {
7373          return (
7374            /* binding */
7375            _PrivacyPolicyComponent
7376          );
7377        }
7378        /* harmony export */
7379
7380      });
7381      /* harmony import */
7382
7383
7384      var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
7385      /*! @angular/core */
7386      37716);
7387      /* harmony import */
7388
7389
7390      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
7391      /*! @angular/platform-browser */
7392      39075);
7393
7394      var _PrivacyPolicyComponent = /*#__PURE__*/function () {
7395        function _PrivacyPolicyComponent(title) {
7396          _classCallCheck(this, _PrivacyPolicyComponent);
7397
7398          this.title = title;
7399        }
7400
7401        _createClass(_PrivacyPolicyComponent, [{
7402          key: "ngOnInit",
7403          value: function ngOnInit() {
7404            this.title.setTitle('Privacy Policy | Virtrolio');
7405          }
7406        }]);
7407
7408        return _PrivacyPolicyComponent;
7409      }();
7410
7411      _PrivacyPolicyComponent.ɵfac = function PrivacyPolicyComponent_Factory(t) {
7412        return new (t || _PrivacyPolicyComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title));
7413      };
7414
7415      _PrivacyPolicyComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({
7416        type: _PrivacyPolicyComponent,
7417        selectors: [["app-privacy-policy"]],
7418        decls: 98,
7419        vars: 0,
7420        consts: [[1, "container"], [1, "text-center", "mt-3", "mb-3"], ["role", "alert", 1, "alert", "alert-primary"], ["href", "https://virtrolio.web.app", "target", "_blank"], ["href", "http://www.allaboutcookies.org", "target", "_blank"], ["href", "../terms-of-service"], ["href", "https://www.google.com/intl/en/policies/privacy", "target", "_blank"], ["href", "https://policies.google.com/technologies/partner-sites", "target", "_blank"], ["href", "https://cloud.google.com/terms/", "target", "_blank"], ["href", "https://tools.google.com/dlpage/gaoptout", "target", "_blank"], ["href", "mailto:[email protected]", "target", "_blank"]],
7421        template: function PrivacyPolicyComponent_Template(rf, ctx) {
7422          if (rf & 1) {
7423            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
7424
7425            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "h1", 1);
7426
7427            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](2, "Privacy Policy");
7428
7429            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7430
7431            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](3, "div", 2);
7432
7433            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](4, " Last updated: June 16, 2021 ");
7434
7435            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7436
7437            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "h3");
7438
7439            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](6, "SUMMARY");
7440
7441            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7442
7443            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "p");
7444
7445            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, " We take your privacy very seriously and commit to being transparent about how we use the data we collect. This data broadly falls under \"Personal\" and \"Device\" information. First and foremost, we do not and will never sell or share any of your data with third-party advertisers. We only collect personal information essential for making online yearbook signings possible, including your name, email, profile picture, and of course, the messages you ask us to deliver. Similarly, we only collect device information needed to make the website work smoothly and securely. Sending and receiving messages works like normal yearbook signing. Once you send something, it becomes the property of the receiver. However, you are always responsible for the contents of the messages you send. This summary is for convenience only and does not supersede the full policy; please read the terms below carefully. ");
7446
7447            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7448
7449            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](9, "h3");
7450
7451            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](10, "OVERVIEW");
7452
7453            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7454
7455            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](11, "p");
7456
7457            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](12, " This Privacy Policy describes how your personal information is collected, used, and shared when you visit ");
7458
7459            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](13, "a", 3);
7460
7461            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](14, "https://virtrolio.web.app");
7462
7463            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7464
7465            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](15, " (the \u201CSite\u201D). ");
7466
7467            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7468
7469            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](16, "h3");
7470
7471            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](17, "DEVICE INFORMATION WE COLLECT");
7472
7473            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7474
7475            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](18, "p");
7476
7477            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](19, "We collect Device Information using the following technologies:");
7478
7479            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7480
7481            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](20, "ul");
7482
7483            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](21, "li");
7484
7485            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](22, " \u201CCookies\u201D are data files that are placed on your device or computer and often include an anonymous unique identifier. For more information about cookies, and how to disable cookies, visit ");
7486
7487            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](23, "a", 4);
7488
7489            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](24, "http://www.allaboutcookies.org");
7490
7491            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7492
7493            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](25, ". ");
7494
7495            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7496
7497            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](26, "li");
7498
7499            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](27, " \u201CLog files\u201D track actions occurring on the Site, and collect data including your IP address, browser type, Internet service provider, referring/exit pages, and date/time stamps. ");
7500
7501            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7502
7503            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](28, "li");
7504
7505            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](29, " \u201CWeb beacons,\u201D \u201Ctags,\u201D and \u201Cpixels\u201D are electronic files used to record information about how you browse the Site. ");
7506
7507            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7508
7509            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](30, "li");
7510
7511            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](31, " Google Analytics also collects device information through us; see SHARING YOUR PERSONAL INFORMATION for more details. ");
7512
7513            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7514
7515            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7516
7517            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](32, "h3");
7518
7519            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](33, "PERSONAL INFORMATION WE COLLECT");
7520
7521            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7522
7523            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](34, "p");
7524
7525            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](35, " \u201CPersonal Information\u201D refers to any of the information identified in this section. When you sign up or sign in with us we collect certain information from you, including your name, email address, and profile picture. ");
7526
7527            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7528
7529            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](36, "h5");
7530
7531            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](37, "HOW DO WE USE YOUR PERSONAL INFORMATION?");
7532
7533            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7534
7535            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](38, "p");
7536
7537            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](39, " We use your Personal Information in order to keep track of what email addresses have an account with us, what email addresses have signed others\u2019 virtrolios, and what name and profile picture to display when someone reads your message, among other applications. ");
7538
7539            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7540
7541            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](40, "p");
7542
7543            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](41, " We use the Device Information that we collect to help us screen for potential risk and fraud (in particular, your IP address), and more generally to improve and optimize our Site (for example, by generating analytics about how our 
7543customers browse and interact with the Site, and to assess the effectiveness of our marketing and advertising campaigns). ");
7544
7545            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7546
7547            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](42, "h5");
7548
7549            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](43, "SHARING YOUR PERSONAL INFORMATION");
7550
7551            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7552
7553            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](44, "p");
7554
7555            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](45, " We share your Personal Information with third parties to help us use the information as described above. For example, we use Google Firebase to host our service and store your data, including messages which you author or receive. We also use Google Analytics to help us understand how our customers use the Site. Additionally, we make use of third-party sign-in providers such as Google in order to authenticate users who use our service. This means that we provide Google with certain parts of your data, which may be stored on servers outside your country. We only collect personal data that is essential to the core functionality of our Site. In addition, some anonymous data is used by us and relevant third-parties for analytical purposes. Your acceptance of our ");
7556
7557            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](46, "a", 5);
7558
7559            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](47, "Terms of Service");
7560
7561            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7562
7563            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](48, " and other relevant policies gives Virtrolio the right to share user and website data, in the manner described, to enable these services. ");
7564
7565            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7566
7567            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](49, "p");
7568
7569            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](50, " Visit the following links for more information on how Google uses your information: ");
7570
7571            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7572
7573            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](51, "ul");
7574
7575            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](52, "li");
7576
7577            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](53, "a", 6);
7578
7579            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](54, " https://www.google.com/intl/en/policies/privacy");
7580
7581            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7582
7583            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7584
7585            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](55, "li");
7586
7587            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](56, "a", 7);
7588
7589            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](57, " https://policies.google.com/technologies/partner-sites");
7590
7591            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7592
7593            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7594
7595            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](58, "li");
7596
7597            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](59, "a", 8);
7598
7599            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](60, " https://cloud.google.com/terms/");
7600
7601            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7602
7603            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7604
7605            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7606
7607            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](61, "p");
7608
7609            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](62, " You can also opt-out of Google Analytics here: ");
7610
7611            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](63, "a", 9);
7612
7613            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](64, "https://tools.google.com/dlpage/gaoptout");
7614
7615            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7616
7617            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](65, ". ");
7618
7619            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7620
7621            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](66, "p");
7622
7623            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](67, " Finally, we may also share your Personal Information to comply with applicable laws and regulations, to respond to a subpoena, search warrant or other lawful request for information we receive, or to otherwise protect our rights. ");
7624
7625            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7626
7627            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](68, "h3");
7628
7629            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](69, "DO NOT TRACK");
7630
7631            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7632
7633            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](70, "p");
7634
7635            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](71, " We do not alter our Site\u2019s data collection and use practices when we see a Do Not Track signal from your browser. ");
7636
7637            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7638
7639            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](72, "h3");
7640
7641            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](73, "DATA OWNERSHIP & RETENTION");
7642
7643            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7644
7645            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](74, "p");
7646
7647            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](75, " Our data ownership policies are designed to emulate real-life yearbook signings. By using our Service, you agree to your message text, message attributes and any attached images (collectively referred to hereafter as your \u201Cmessages\u201D or a \u201Cmessage\u201D) being governed by the following policy. ");
7648
7649            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7650
7651            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](76, "p");
7652
7653            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](77, " Once you (the \u201Csender\u201D) send a message, you will no longer be able to modify your message, delete it, or save it, so please do so beforehand. By sending a message through our service to a person (the \u201Creceiver\u201D), you agree to transfer ownership of the data in your message to that person. If you, the sender, delete your Virtrolio account, your message data will remain on our servers under the ownership of the receiver unless deleted directly by us or by the receiver. Your content will not be publicly displayed or otherwise distributed by us but may be viewed by administrators and developers in order to provide and develop a better service. ");
7654
7655            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7656
7657            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](78, "p");
7658
7659            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](79, " By receiving a message, you gain control over certain, but not all, aspects of that message. The receiver is the only user with the ability to delete a message (that they have received), and if a receiver chooses to delete their Virtrolio account and all their data, all messages they have received from other users will also be deleted. Modification of received messages is neither offered nor allowed by our platform. ");
7660
7661            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7662
7663            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](80, "p");
7664
7665            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](81, " If you, the sender, create, upload, or otherwise disseminate content through Virtrolio that is deemed not to comply with our Terms or relevant policies and laws, the onus for the act remains on you regardless of the transfer of data ownership. The contents of a message are still associated with your account even after it has been sent to a receiver, and any investigation, inquiry, and consequences will be directed towards you, the sender. Receivers have the ability and right to flag or report a message they have received. ");
7666
7667            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7668
7669            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](82, "h3");
7670
7671            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](83, "YOUR RIGHTS");
7672
7673            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7674
7675            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](84, "p");
7676
7677            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](85, " If you are a European resident, you have the right to access personal information we hold about you and to ask that your personal information be corrected, updated, or deleted. Please contact us at the address below for more information. ");
7678
7679            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7680
7681            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](86, "h3");
7682
7683            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](87, "CHANGES");
7684
7685            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7686
7687            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](88, "p");
7688
7689            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](89, " We may update this privacy policy from time to time in order to reflect, for example, changes to our practices or for other operational, legal or regulatory reasons. ");
7690
7691            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7692
7693            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](90, "h3");
7694
7695            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](91, "CONTACT US");
7696
7697            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7698
7699            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](92, "p");
7700
7701            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](93, " For more information about our privacy practices, or if you have questions, comments, or complaints, please contact us by e-mail at ");
7702
7703            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](94, "a", 10);
7704
7705            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](95, "[email protected]");
7706
7707            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7708
7709            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](96, " or visit our Contact Us page for alternative options. ");
7710
7711            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7712
7713            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](97, "br");
7714
7715            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7716          }
7717        },
7718        styles: ["\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJwcml2YWN5LXBvbGljeS5jb21wb25lbnQuY3NzIn0= */"]
7719      });
7720      /***/
7721    },
7722
7723    /***/
7724    79668:
7725    /*!**************************************************!*\
7726      !*** ./src/app/pages/rejecc/rejecc.component.ts ***!
7727      \**************************************************/
7728
7729    /***/
7730    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7731      "use strict";
7732
7733      __webpack_require__.r(__webpack_exports__);
7734      /* harmony export */
7735
7736
7737      __webpack_require__.d(__webpack_exports__, {
7738        /* harmony export */
7739        "RejeccComponent": function RejeccComponent() {
7740          return (
7741            /* binding */
7742            _RejeccComponent
7743          );
7744        }
7745        /* harmony export */
7746
7747      });
7748      /* harmony import */
7749
7750
7751      var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
7752      /*! @angular/core */
7753      37716);
7754      /* harmony import */
7755
7756
7757      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
7758      /*! @angular/platform-browser */
7759      39075);
7760      /* harmony import */
7761
7762
7763      var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
7764      /*! @angular/router */
7765      39895);
7766
7767      var _RejeccComponent = /*#__PURE__*/function () {
7768        function _RejeccComponent(title) {
7769          _classCallCheck(this, _RejeccComponent);
7770
7771          this.title = title;
7772        }
7773
7774        _createClass(_RejeccComponent, [{
7775          key: "ngOnInit",
7776          value: function ngOnInit() {
7777            this.title.setTitle('You seem familiar... | Virtrolio');
7778          }
7779        }]);
7780
7781        return _RejeccComponent;
7782      }();
7783
7784      _RejeccComponent.ɵfac = function RejeccComponent_Factory(t) {
7785        return new (t || _RejeccComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title));
7786      };
7787
7788      _RejeccComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({
7789        type: _RejeccComponent,
7790        selectors: [["app-rejecc"]],
7791        decls: 14,
7792        vars: 0,
7793        consts: [[1, "container", "vertical-center", "montserrat"], [1, "row", "justify-content-center", "mx-3", "mt-3"], [1, "display-text"], [1, "row", "justify-content-center", "mx-3"], [1, "display-body-text"], ["alt", "Message already sent image", "id", "graphic", "src", "../../../assets/images/Rejecc.svg"], [1, "row", "justify-content-center", "my-3"], ["routerLink", "", 1, "btn-lg", "btn-primary", "mt-5"]],
7794        template: function RejeccComponent_Template(rf, ctx) {
7795          if (rf & 1) {
7796            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
7797
7798            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1);
7799
7800            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "h1", 2);
7801
7802            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3, "You seem familiar...");
7803
7804            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7805
7806            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7807
7808            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 3);
7809
7810            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "p", 4);
7811
7812            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](6, " You've already signed this virtrolio with this account!");
7813
7814            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](7, "br");
7815
7816            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, "Ask your friend to delete your previous message if you want to send another one. ");
7817
7818            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7819
7820            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7821
7822            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](9, "div", 1);
7823
7824            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](10, "img", 5);
7825
7826            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7827
7828            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](11, "div", 6);
7829
7830            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](12, "button", 7);
7831
7832            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](13, "Back to Home");
7833
7834            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7835
7836            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7837
7838            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
7839          }
7840        },
7841        directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink],
7842        styles: ["#graphic[_ngcontent-%COMP%] {\n  height: 10em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n  font-size: 2.5em;
7842\n  text-align: center;\n}\n\n#subtitle-text[_ngcontent-%COMP%] {\n  font-size: large;\n  text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n  #graphic[_ngcontent-%COMP%] {\n    height: 5em;\n  }\n\n  #title-text[_ngcontent-%COMP%] {\n    font-size: 2em;\n  }\n\n  #subtitle-text[_ngcontent-%COMP%] {\n    font-size: 1em;\n  }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlamVjYy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7O0FBRUEsV0FBVzs7QUFDWDtFQUNFO0lBQ0UsV0FBVztFQUNiOztFQUVBO0lBQ0UsY0FBYztFQUNoQjs7RUFFQTtJQUNFLGNBQWM7RUFDaEI7QUFDRiIsImZpbGUiOiJyZWplY2MuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNncmFwaGljIHtcbiAgaGVpZ2h0OiAxMGVtO1xufVxuXG4jdGl0bGUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMi41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3N1YnRpdGxlLXRleHQge1xuICBmb250LXNpemU6IGxhcmdlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjZ3JhcGhpYyB7XG4gICAgaGVpZ2h0OiA1ZW07XG4gIH1cblxuICAjdGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gIH1cblxuICAjc3VidGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn1cbiJdfQ== */"]
7843      });
7844      /***/
7845    },
7846
7847    /***/
7848    65814:
7849    /*!******************************************************!*\
7850      !*** ./src/app/pages/settings/settings.component.ts ***!
7851      \******************************************************/
7852
7853    /***/
7854    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7855      "use strict";
7856
7857      __webpack_require__.r(__webpack_exports__);
7858      /* harmony export */
7859
7860
7861      __webpack_require__.d(__webpack_exports__, {
7862        /* harmony export */
7863        "SettingsComponent": function SettingsComponent() {
7864          return (
7865            /* binding */
7866            _SettingsComponent
7867          );
7868        }
7869        /* harmony export */
7870
7871      });
7872      /* harmony import */
7873
7874
7875      var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
7876      /*! tslib */
7877      64762);
7878      /* harmony import */
7879
7880
7881      var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
7882      /*! rxjs/operators */
7883      15257);
7884      /* harmony import */
7885
7886
7887      var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
7888      /*! @angular/core */
7889      37716);
7890      /* harmony import */
7891
7892
7893      var _core_auth_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
7894      /*! ../../core/auth.service */
7895      87341);
7896      /* harmony import */
7897
7898
7899      var _core_msg_io_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
7900      /*! ../../core/msg-io.service */
7901      84468);
7902      /* harmony import */
7903
7904
7905      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
7906      /*! @angular/platform-browser */
7907      39075);
7908      /* harmony import */
7909
7910
7911      var _angular_router__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
7912      /*! @angular/router */
7913      39895);
7914
7915      var _SettingsComponent = /*#__PURE__*/function () {
7916        function _SettingsComponent(authService, msgIoService, sanitizer, title) {
7917          _classCallCheck(this, _SettingsComponent);
7918
7919          this.authService = authService;
7920          this.msgIoService = msgIoService;
7921          this.sanitizer = sanitizer;
7922          this.title = title;
7923        }
7924
7925        _createClass(_SettingsComponent, [{
7926          key: "ngOnInit",
7927          value: function ngOnInit() {
7928            this.title.setTitle('Settings | Virtrolio');
7929          }
7930        }, {
7931          key: "ngOnDestroy",
7932          value: function ngOnDestroy() {
7933            $('#download').modal('hide');
7934            $('#download-error').modal('hide');
7935            $('#delete-error').modal('hide');
7936          }
7937          /**
7938           * Converts the user's data and messages into JSONs and changes the href of their respective buttons to permit
7939           * downloading of the data.
7940           */
7941
7942        }, {
7943          key: "generateDownloads",
7944          value: function generateDownloads() {
7945            return (0, tslib__WEBPACK_IMPORTED_MODULE_2__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee22() {
7946              var downloadModal, exportErrorModal, messages, userData, messagesJSON, userJSON;
7947              return regeneratorRuntime.wrap(function _callee22$(_context22) {
7948                while (1) {
7949                  switch (_context22.prev = _context22.next) {
7950                    case 0:
7951                      downloadModal = $('#download');
7952                      exportErrorModal = $('#download-error');
7953                      _context22.prev = 2;
7954                      _context22.next = 5;
7955                      return this.msgIoService.getMessages().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_3__.take)(1)).toPromise();
7956
7957                    case 5:
7958                      messages = _context22.sent;
7959                      _context22.next = 8;
7960                      return this.authService.getUserData();
7961
7962                    case 8:
7963                      userData = _context22.sent;
7964
7965                      // Convert encoded text to normal text
7966                      if (messages) {
7967                        messages.forEach(function (message) {
7968                          message.contents = _SettingsComponent.decodeHtml(message.contents);
7969                        });
7970                      } else {
7971                        messages = [{
7972                          error: 'No messages found'
7973                        }];
7974                      } // Convert data to JSON
7975
7976
7977                      messagesJSON = JSON.stringify(messages, null, 2);
7978                      userJSON = JSON.stringify(userData, null, 2); // Set download buttons
7979
7980                      this.downloadMessagesData = this.sanitizer.bypassSecurityTrustUrl('data:text/json;charset=UTF-8,' + encodeURIComponent(messagesJSON));
7981                      this.downloadUserData = this.sanitizer.bypassSecurityTrustUrl('data:text/json;charset=UTF-8,' + encodeURIComponent(userJSON));
7982                      downloadModal.modal('show');
7983                      _context22.next = 22;
7984                      break;
7985
7986                    case 17:
7987                      _context22.prev = 17;
7988                      _context22.t0 = _context22["catch"](2);
7989                      this.exportErrorText = _context22.t0;
7990                      exportErrorModal.modal('show');
7991                      return _context22.abrupt("return");
7992
7993                    case 22:
7994                    case "end":
7995                      return _context22.stop();
7996                  }
7997                }
7998              }, _callee22, this, [[2, 17]]);
7999            }));
8000          }
8001        }], [{
8002          key: "decodeHtml",
8003          value: function decodeHtml(html) {
8004            var txt = document.createElement('textarea');
8005            txt.innerHTML = html;
8006            return txt.value;
8007          }
8008        }]);
8009
8010        return _SettingsComponent;
8011      }();
8012
8013      _SettingsComponent.ɵfac = function SettingsComponent_Factory(t) {
8014        return new (t || _SettingsComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_core_auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_core_msg_io_service__WEBPACK_IMPORTED_MODULE_1__.MsgIoService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__.DomSanitizer), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__.Title));
8015      };
8016
8017      _SettingsComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineComponent"]({
8018        type: _SettingsComponent,
8019        selectors: [["app-settings"]],
8020        decls: 132,
8021        vars: 6,
8022        consts: [[1, "container", "py-5", "mb-5", "montserrat"], [1, "row", "d-flex", "justify-content-center"], [1, "col-sm-12", "col-md-8"], [1, "card", "shadow", "border", "p-3"], [1, "card-body"], [1, "mb-2"], ["type", "button", 1, "btn", "btn-info", 3, "click"], ["href", "/privacy-policy"], ["href", "mailto:[email protected]", "target", "_blank"], ["data-target", "#delete-error", "data-toggle", "modal", "type", "button", 1, "btn", "btn-danger"], ["aria-hidden", "true", "aria-labelledby", "download-label", "id", "download", "role", "dialog", "tabindex", "-1", 1, "modal", "fade"], [1, "modal-dialog", "modal-dialog-centered"], [1, "modal-content"], [1, "modal-header"], ["id", "download-label", 1, "modal-title"], ["aria-label", "Close", "data-dismiss", "modal", "type", "button", 1, "close"], ["aria-hidden", "true"], [1, "modal-body"], [1, "modal-footer"], ["download", "user.json", "title", "Download User Data", 1, "btn", "btn-info", 3, "href"], ["download", "messages.json", "title", "Download Messages", 1, "btn", "btn-info", 3, "href"], ["data-dismiss", "modal", "type", "button", 1, "btn", "btn-secondary"], ["aria-hidden", "true", "aria-labelledby", "download-error-label", "id", "download-error", "role", "dialog", "tabindex", "-1", 1, "modal", "fade"], ["id", "download-error-label", 1, "modal-title"], ["data-dismiss", "modal", "routerLink", "/contact"], ["href", "mailto:[email protected]", "target", "_blank", "type", "button", 1, "btn", "btn-primary"], ["data-dismiss", "modal", "data-target", "#delete-error-modal", "data-toggle", "modal", "type", "button", 1, "btn", "btn-secondary"], ["aria-hidden", "true", "aria-labelledby", "delete-error-label", "id", "delete-error", "role", "dialog", "tabindex", "-2", 1, "modal", "fade"], ["id", "delete-error-label", 1, "modal-title"], ["target", "_blank", "type", "button", 1, "btn", "btn-danger", 3, "href"]],
8023        template: function SettingsComponent_Template(rf, ctx) {
8024          if (rf & 1) {
8025            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "div", 0);
8026
8027            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](1, "div", 1);
8028
8029            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](2, "div", 2);
8030
8031            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](3, "div", 3);
8032
8033            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](4, "div", 4);
8034
8035            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](5, "h2", 5);
8036
8037            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](6, "Settings");
8038
8039            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8040
8041            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](7, "hr");
8042
8043            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](8, "h2");
8044
8045            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](9, "Download your Data");
8046
8047            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8048
8049            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](10, "p");
8050
8051            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](11, " Clicking the button below will allow you to download all data associated with you that is stored on Virtrolio. This data includes your user data and messages that you have received. Note that this does not include messages written ");
8052
8053            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](12, "b");
8054
8055            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](13, "by");
8056
8057            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8058
8059            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](14, " you, as those messages are owned by the message recipient. ");
8060
8061            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8062
8063            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](15, "p");
8064
8065            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](16, " The data will be provided in one of several file formats including .zip, .json, .csv, .txt or .xlsx. You may need additional software to open some of these file types. ");
8066
8067            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](17, "u");
8068
8069            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](18, "Virtrolio will not make any re
8069commendations on what software to use.");
8070
8071            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8072
8073            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8074
8075            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](19, "p");
8076
8077            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](20, "b");
8078
8079            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](21, "Clicking the button below will generate your data. Please ensure you want to proceed before clicking the button.");
8080
8081            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8082
8083            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8084
8085            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](22, "button", 6);
8086
8087            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function SettingsComponent_Template_button_click_22_listener() {
8088              return ctx.generateDownloads();
8089            });
8090
8091            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](23, " Request Data ");
8092
8093            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8094
8095            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](24, "hr");
8096
8097            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](25, "h2");
8098
8099            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](26, "Delete Your Virtrolio Account");
8100
8101            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8102
8103            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](27, "h6");
8104
8105            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](28, "b");
8106
8107            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](29, "READ CAREFULLY:");
8108
8109            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8110
8111            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8112
8113            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](30, "p");
8114
8115            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](31, " The button below will request the deletion of your account on Virtrolio, the data associated with your account, and any messages that you have received. It will NOT delete messages sent by you since those messages are owned by the message recipient, as per our ");
8116
8117            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](32, "a", 7);
8118
8119            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](33, "Privacy Policy");
8120
8121            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8122
8123            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](34, ". If you would like these to be deleted, please ask the message recipient to delete it. ");
8124
8125            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8126
8127            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](35, "p");
8128
8129            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](36, " If you have any questions, please email us directly at ");
8130
8131            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](37, "a", 8);
8132
8133            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](38, "[email protected]");
8134
8135            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8136
8137            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](39, ". ");
8138
8139            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8140
8141            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](40, "button", 9);
8142
8143            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](41, " Delete Account ");
8144
8145            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8146
8147            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8148
8149            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8150
8151            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8152
8153            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8154
8155            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8156
8157            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](42, "div", 10);
8158
8159            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](43, "div", 11);
8160
8161            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](44, "div", 12);
8162
8163            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](45, "div", 13);
8164
8165            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](46, "h5", 14);
8166
8167            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](47, "Data Export");
8168
8169            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8170
8171            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](48, "button", 15);
8172
8173            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](49, "span", 16);
8174
8175            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](50, "\xD7");
8176
8177            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8178
8179            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8180
8181            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8182
8183            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](51, "div", 17);
8184
8185            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](52, "p");
8186
8187            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](53, " Your data has been prepared. Please use the buttons below to download your data. ");
8188
8189            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8190
8191            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](54, "p");
8192
8193            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](55, "b");
8194
8195            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](56);
8196
8197            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8198
8199            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8200
8201            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8202
8203            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](57, "div", 18);
8204
8205            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](58, "a", 19);
8206
8207            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](59, " Download User Data");
8208
8209            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8210
8211            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](60, "a", 20);
8212
8213            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](61, " Download Messages");
8214
8215            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8216
8217            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](62, "button", 21);
8218
8219            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](63, " Close ");
8220
8221            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8222
8223            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8224
8225            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8226
8227            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8228
8229            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8230
8231            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](64, "div", 22);
8232
8233            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](65, "div", 11);
8234
8235            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](66, "div", 12);
8236
8237            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](67, "div", 13);
8238
8239            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](68, "h5", 23);
8240
8241            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](69, "Data Export Error");
8242
8243            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8244
8245            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](70, "button", 15);
8246
8247            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](71, "span", 16);
8248
8249            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](72, "\xD7");
8250
8251            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8252
8253            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8254
8255            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8256
8257            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](73, "div", 17);
8258
8259            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](74, "p");
8260
8261            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](75, "Oops! It looks like something went wrong during the data export.");
8262
8263            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8264
8265            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](76, "p");
8266
8267            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](77, " Here are the details of the error that you can pass along to our team through the ");
8268
8269            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](78, "a", 24);
8270
8271            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](79, "Contact Us");
8272
8273            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8274
8275            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](80, " page if required: ");
8276
8277            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8278
8279            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](81, "p");
8280
8281            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](82, "b");
8282
8283            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](83);
8284
8285            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8286
8287            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8288
8289            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](84, "p");
8290
8291            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](85, "em");
8292
8293            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](86, "Please close this window and try again.");
8294
8295            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8296
8297            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8298
8299            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](87, "p");
8300
8301            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](88, " Also, make sure that your internet connection is working properly, and that there aren't any firewalls on your computer that c
8301ould be blocking the download. ");
8302
8303            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8304
8305            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](89, "p");
8306
8307            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](90, " If the error persists, please click the button below to send an email to the support team, or email us directly at ");
8308
8309            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](91, "a", 8);
8310
8311            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](92, "[email protected]");
8312
8313            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8314
8315            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](93, ". ");
8316
8317            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8318
8319            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8320
8321            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](94, "div", 18);
8322
8323            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](95, "a", 25);
8324
8325            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](96, "Email Us");
8326
8327            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8328
8329            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](97, "button", 26);
8330
8331            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](98, " Close ");
8332
8333            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8334
8335            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8336
8337            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8338
8339            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8340
8341            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8342
8343            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](99, "div", 27);
8344
8345            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](100, "div", 11);
8346
8347            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](101, "div", 12);
8348
8349            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](102, "div", 13);
8350
8351            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](103, "h5", 28);
8352
8353            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](104, "Account Deletion");
8354
8355            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8356
8357            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](105, "button", 15);
8358
8359            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](106, "span", 16);
8360
8361            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](107, "\xD7");
8362
8363            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8364
8365            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8366
8367            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8368
8369            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](108, "div", 17);
8370
8371            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](109, "p");
8372
8373            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](110, "u");
8374
8375            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](111, "All requests for account deletion ");
8376
8377            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](112, "em");
8378
8379            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](113, "must");
8380
8381            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8382
8383            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](114, " be sent via email.");
8384
8385            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8386
8387            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8388
8389            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](115, "p");
8390
8391            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](116, " If you want to download your data before deleting your account, please use the Request Data function that is also on this page. You will need to close this modal to see it. ");
8392
8393            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8394
8395            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](117, "p");
8396
8397            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](118, "b");
8398
8399            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](119, "By clicking the 'Request Account Deletion' button below, I understand that my data will be removed PERMANENTLY. I also understand that I will NOT be able to re
8399cover, download or otherwise access my data after it is deleted.");
8400
8401            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8402
8403            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8404
8405            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](120, "p");
8406
8407            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](121, " If you are sure that you want to proceed, click the 'Request Account Deletion' button below to send us an email. ");
8408
8409            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8410
8411            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](122, "p");
8412
8413            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](123, " If you have any questions, please email us directly at ");
8414
8415            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](124, "a", 8);
8416
8417            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](125, "[email protected]");
8418
8419            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8420
8421            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](126, ". ");
8422
8423            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8424
8425            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8426
8427            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](127, "div", 18);
8428
8429            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](128, "a", 29);
8430
8431            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](129, "Request Account Deletion");
8432
8433            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8434
8435            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](130, "button", 21);
8436
8437            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](131, " Close ");
8438
8439            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8440
8441            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8442
8443            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8444
8445            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8446
8447            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8448          }
8449
8450          if (rf & 2) {
8451            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](56);
8452
8453            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtextInterpolate"](ctx.exportErrorText);
8454
8455            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](2);
8456
8457            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("href", ctx.downloadUserData, _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsanitizeUrl"]);
8458
8459            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](2);
8460
8461            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("href", ctx.downloadMessagesData, _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsanitizeUrl"]);
8462
8463            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](23);
8464
8465            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtextInterpolate"](ctx.exportErrorText);
8466
8467            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](45);
8468
8469            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpropertyInterpolate2"]("href", "mailto:[email protected]?subject=Account Deletion%20-%20", ctx.authService.uid(), "\n        &body=UID:%20", ctx.authService.uid(), "%0AReason for request:", _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsanitizeUrl"]);
8470          }
8471        },
8472        directives: [_angular_router__WEBPACK_IMPORTED_MODULE_6__.RouterLinkWithHref],
8473        styles: [".container[_ngcontent-%COMP%] {\n  line-height: 1.6;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNldHRpbmdzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxnQkFBZ0I7QUFDbEIiLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb250YWluZXIge1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuIl19 */"]
8474      });
8475      /***/
8476    },
8477
8478    /***/
8479    83964:
8480    /*!********************************************************************************!*\
8481      !*** ./src/app/pages/signing-auth-redirect/signing-auth-redirect.component.ts ***!
8482      \********************************************************************************/
8483
8484    /***/
8485    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8486      "use strict";
8487
8488      __webpack_require__.r(__webpack_exports__);
8489      /* harmony export */
8490
8491
8492      __webpack_require__.d(__webpack_exports__, {
8493        /* harmony export */
8494        "SigningAuthRedirectComponent": function SigningAuthRedirectComponent() {
8495          return (
8496            /* binding */
8497            _SigningAuthRedirectComponent
8498          );
8499        }
8500        /* harmony export */
8501
8502      });
8503      /* harmony import */
8504
8505
8506      var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
8507      /*! @angular/core */
8508      37716);
8509      /* harmony import */
8510
8511
8512      var src_app_core_auth_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
8513      /*! src/app/core/auth.service */
8514      87341);
8515      /* harmony import */
8516
8517
8518      var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
8519      /*! @angular/router */
8520      39895);
8521      /* harmony import */
8522
8523
8524      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
8525      /*! @angular/platform-browser */
8526      39075);
8527
8528      var _SigningAuthRedirectComponent = /*#__PURE__*/function () {
8529        function _SigningAuthRedirectComponent(authService, route, title) {
8530          _classCallCheck(this, _SigningAuthRedirectComponent);
8531
8532          this.authService = authService;
8533          this.route = route;
8534          this.title = title;
8535        }
8536
8537        _createClass(_SigningAuthRedirectComponent, [{
8538          key: "goToSigning",
8539          value: function goToSigning() {
8540            // noinspection JSIgnoredPromiseFromCall
8541            this.authService.login('/signing', {
8542              uid: this.uid,
8543              key: this.key
8544            });
8545          }
8546        }, {
8547          key: "ngOnInit",
8548          value: function ngOnInit() {
8549            var _this17 = this;
8550
8551            this.title.setTitle('Please Sign In. | Virtrolio');
8552            this.route.queryParams.subscribe(function (params) {
8553              _this17.uid = params.uid;
8554              _this17.key = params.key;
8555            });
8556          }
8557        }]);
8558
8559        return _SigningAuthRedirectComponent;
8560      }();
8561
8562      _SigningAuthRedirectComponent.ɵfac = function SigningAuthRedirectComponent_Factory(t) {
8563        return new (t || _SigningAuthRedirectComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](src_app_core_auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_2__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__.Title));
8564      };
8565
8566      _SigningAuthRedirectComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({
8567        type: _SigningAuthRedirectComponent,
8568        selectors: [["app-friend-link"]],
8569        decls: 25,
8570        vars: 0,
8571        consts: [[1, "container", "vertical-center", "montserrat"], ["id", "title", 1, "row", "py-3", "mx-3", "justify-content-center"], [1, "display-text"], [1, "row", "mx-2", "mt-3", "mb-3", "justify-content-center"], ["alt", "Mail sent image", "id", "pen-graphic", "src", "../../../assets/images/FriendLink-Light.svg"], ["id", "buttons", 1, "row", "justify-content-center", "mb-3"], ["type", "button", 1, "btn", "btn-outline-dark", "google-sign-in-btn", "col-sm-4", "col-md-3", 3, "click"], ["alt", "Google Logo", "height", "23", "src", "../../../assets/images/icons/google.svg", "width", "23"], ["routerLink", "/", "type", "button", 1, "col-sm-4", "col-md-3", "btn", "btn-primary"], ["id", "redirect-disclaimer-text", 1, "text-center"], [1, "display-body-text"], ["href", "/terms-of-service"]],
8572        template: function SigningAuthRedirectComponent_Template(rf, ctx) {
8573          if (rf & 1) {
8574            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 0);
8575
8576            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "div", 1);
8577
8578            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "h1", 2);
8579
8580            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](3, " We see you\u2019re trying to sign your friend\u2019s virtrolio.");
8581
8582            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](4, "br");
8583
8584            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](5, "We need you to sign ");
8585
8586            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](6, "em");
8587
8588            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](7, "in");
8589
8590            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
8591
8592            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](8, " first. ");
8593
8594            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
8595
8596            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
8597
8598            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](9, "div", 3);
8599
8600            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](10, "img", 4);
8601
8602            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
8603
8604            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](11, "div", 5);
8605
8606            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](12, "button", 6);
8607
8608            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("click", function SigningAuthRedirectComponent_Template_button_click_12_listener() {
8609              return ctx.goToSigning();
8610            });
8611
8612            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](13, "img", 7);
8613
8614            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](14, "span");
8615
8616            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](15, "Sign in with Google");
8617
8618            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
8619
8620            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
8621
8622            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](16, "button", 8);
8623
8624            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](17, " Home Page ");
8625
8626            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
8627
8628            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
8629
8630            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](18, "div", 9);
8631
8632            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](19, "p", 10);
8633
8634            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](20, " By signing up for/signing into our service, you are agreeing to our ");
8635
8636            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](21, "a", 11);
8637
8638            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](22, "Terms of Service.");
8639
8640            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
8641
8642            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
8643
8644            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](23, "p", 10);
8645
8646            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](24, " At this time, we do not support signing in using providers other than Google. ");
8647
8648            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
8649
8650            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
8651
8652            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
8653          }
8654        },
8655        directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink],
8656        styles: ["#pen-graphic[_ngcontent-%COMP%] {\n  height: 15em;\n}\n\n#buttons[_ngcontent-%COMP%]    > button[_ngcontent-%COMP%] {\n  \n  margin: 2em 1em 0;\n  font-size: 1.1em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n  \n  text-align: center;\n  font-size: 2em;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n  #pen-graphic[_ngcontent-%COMP%] {\n    height: 10em;\n  }\n\n  #title-text[_ngcontent-%COMP%] {\n    font-size: 1.5em;\n  }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNpZ25pbmctYXV0aC1yZWRpcmVjdC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLGlCQUFpQjtFQUNqQixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSw0REFBNEQ7RUFDNUQsa0JBQWtCO0VBQ2xCLGNBQWM7QUFDaEI7O0FBRUEsV0FBVzs7QUFDWDtFQUNFO0lBQ0UsWUFBWTtFQUNkOztFQUVBO0lBQ0UsZ0JBQWdCO0VBQ2xCO0FBQ0YiLCJmaWxlIjoic2lnbmluZy1hdXRoLXJlZGlyZWN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjcGVuLWdyYXBoaWMge1xuICBoZWlnaHQ6IDE1ZW07XG59XG5cbiNidXR0b25zID4gYnV0dG9uIHtcbiAgLyogRm9yIGVhY2ggYnV0dG9uICovXG4gIG1hcmdpbjogMmVtIDFlbSAwO1xuICBmb250LXNpemU6IDEuMWVtO1xufVxuXG4jdGl0bGUtdGV4dCB7XG4gIC8qIFdlIHNlZSB5b3XigJlyZSB0cnlpbmcgdG8gc2lnbiB5b3VyIGZyaWVuZOKAmXMgdmlydHJvbGlvLi4uICovXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyZW07XG59XG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjcGVuLWdyYXBoaWMge1xuICAgIGhlaWdodDogMTBlbTtcbiAgfVxuXG4gICN0aXRsZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICB9XG59XG4iXX0= */"]
8657      });
8658      /***/
8659    },
8660
8661    /***/
8662    27286:
8663    /*!********************************************************************!*\
8664      !*** ./src/app/pages/signing/error-alert/error-alert.component.ts ***!
8665      \********************************************************************/
8666
8667    /***/
8668    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8669      "use strict";
8670
8671      __webpack_require__.r(__webpack_exports__);
8672      /* harmony export */
8673
8674
8675      __webpack_require__.d(__webpack_exports__, {
8676        /* harmony export */
8677        "ErrorAlertComponent": function ErrorAlertComponent() {
8678          return (
8679            /* binding */
8680            _ErrorAlertComponent
8681          );
8682        }
8683        /* harmony export */
8684
8685      });
8686      /* harmony import */
8687
8688
8689      var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
8690      /*! @angular/core */
8691      37716);
8692      /* harmony import */
8693
8694
8695      var _angular_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
8696      /*! @angular/common */
8697      38583);
8698      /* harmony import */
8699
8700
8701      var ngx_bootstrap_alert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
8702      /*! ngx-bootstrap/alert */
8703      33947);
8704
8705      function ErrorAlertComponent_div_0_Template(rf, ctx) {
8706        if (rf & 1) {
8707          var _r3 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵgetCurrentView"]();
8708
8709          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 1);
8710
8711          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "alert", 2);
8712
8713          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("onClosed", function ErrorAlertComponent_div_0_Template_alert_onClosed_1_listener() {
8714            var restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵrestoreView"](_r3);
8715
8716            var alert_r1 = restoredCtx.$implicit;
8717
8718            var ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]();
8719
8720            return ctx_r2.onClosed(alert_r1);
8721          });
8722
8723          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "strong");
8724
8725          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](3);
8726
8727          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
8728
8729          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](4);
8730
8731          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
8732
8733          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
8734        }
8735
8736        if (rf & 2) {
8737          var alert_r1 = ctx.$implicit;
8738
8739          var ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]();
8740
8741          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
8742
8743          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("type", alert_r1.type)("dismissOnTimeout", alert_r1.timeout)("dismissible", ctx_r0.dismissible);
8744
8745          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2);
8746
8747          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate"](alert_r1.head);
8748
8749          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
8750
8751          _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"](" ", alert_r1.msg, "");
8752        }
8753      }
8754
8755      var _ErrorAlertComponent = /*#__PURE__*/function () {
8756        function _ErrorAlertComponent() {
8757          _classCallCheck(this, _ErrorAlertComponent);
8758
8759          this.dismissible = true;
8760          this.alerts = [];
8761        }
8762
8763        _createClass(_ErrorAlertComponent, [{
8764          key: "addImageCountLimit",
8765          value: function addImageCountLimit() {
8766            this.alerts.push({
8767              type: 'danger',
8768              head: 'Hold On!',
8769              msg: 'You can only add up to 3 images',
8770              timeout: 10000
8771            });
8772          }
8773        }, {
8774          key: "addImageSizeLimit",
8775          value: function addImageSizeLimit(fileName) {
8776            this.alerts.push({
8777              type: 'danger',
8778              head: 'Woah there,',
8779              msg: "".concat(fileName, " is larger than 8 MB in size"),
8780              timeout: 10000
8781            });
8782          }
8783        }, {
8784          key: "addUnsupportedFileType",
8785          value: function addUnsupportedFileType(fileName) {
8786            this.alerts.push({
8787              type: 'danger',
8788              head: 'Wait, ',
8789              msg: "".concat(fileName, " is not a supported file type. Please only select .png, .jpg, .jpeg, .tif, .tiff, .bmp, .gif, .jfif, .pjp files"),
8790              timeout: 10000
8791            });
8792          }
8793        }, {
8794          key: "onClosed",
8795          value: function onClosed(dismissedAlert) {
8796            this.alerts = this.alerts.filter(function (alert) {
8797              return alert !== dismissedAlert;
8798            });
8799          }
8800        }]);
8801
8802        return _ErrorAlertComponent;
8803      }();
8804
8805      _ErrorAlertComponent.ɵfac = function ErrorAlertComponent_Factory(t) {
8806        return new (t || _ErrorAlertComponent)();
8807      };
8808
8809      _ErrorAlertComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({
8810        type: _ErrorAlertComponent,
8811        selectors: [["app-error-alert"]],
8812        decls: 1,
8813        vars: 1,
8814        consts: [["class", "m-2", 4, "ngFor", "ngForOf"], [1, "m-2"], [3, "type", "dismissOnTimeout", "dismissible", "onClosed"]],
8815        template: function ErrorAlertComponent_Template(rf, ctx) {
8816          if (rf & 1) {
8817            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](0, ErrorAlertComponent_div_0_Template, 5, 5, "div", 0);
8818          }
8819
8820          if (rf & 2) {
8821            _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngForOf", ctx.alerts);
8822          }
8823        },
8824        directives: [_angular_common__WEBPACK_IMPORTED_MODULE_2__.NgForOf, ngx_bootstrap_alert__WEBPACK_IMPORTED_MODULE_0__.AlertComponent],
8825        styles: ["\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJlcnJvci1hbGVydC5jb21wb25lbnQuY3NzIn0= */"]
8826      });
8827      /***/
8828    },
8829
8830    /***/
8831    16843:
8832    /*!********************************************************************!*\
8833      !*** ./src/app/pages/signing/image-modal/image-modal.component.ts ***!
8834      \********************************************************************/
8835
8836    /***/
8837    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8838      "use strict";
8839
8840      __webpack_require__.r(__webpack_exports__);
8841      /* harmony export */
8842
8843
8844      __webpack_require__.d(__webpack_exports__, {
8845        /* harmony export */
8846        "ImageModalComponent": function ImageModalComponent() {
8847          return (
8848            /* binding */
8849            _ImageModalComponent
8850          );
8851        }
8852        /* harmony export */
8853
8854      });
8855      /* harmony import */
8856
8857
8858      var _error_alert_error_alert_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
8859      /*! ../error-alert/error-alert.component */
8860      27286);
8861      /* harmony import */
8862
8863
8864      var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
8865      /*! @angular/core */
8866      37716);
8867      /* harmony import */
8868
8869
8870      var _core_signing_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
8871      /*! ../../../core/signing.service */
8872      89214);
8873      /* harmony import */
8874
8875
8876      var ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
8877      /*! ngx-bootstrap/modal */
8878      63301);
8879      /* harmony import */
8880
8881
8882      var _angular_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
8883      /*! @angular/common */
8884      38583);
8885      /* harmony import */
8886
8887
8888      var ngx_bootstrap_tooltip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
8889      /*! ngx-bootstrap/tooltip */
8890      25575);
8891
8892      var _c0 = ["imageModal"];
8893      var _c1 = ["imgUploadInput"];
8894
8895      function ImageModalComponent_h5_15_Template(rf, ctx) {
8896        if (rf & 1) {
8897          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "h5");
8898
8899          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](1, " No images selected ");
8900
8901          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
8902        }
8903      }
8904
8905      function ImageModalComponent_img_16_Template(rf, ctx) {
8906        if (rf & 1) {
8907          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](0, "img", 24);
8908        }
8909      }
8910
8911      function ImageModalComponent_img_17_Template(rf, ctx) {
8912        if (rf & 1) {
8913          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](0, "img", 25);
8914        }
8915
8916        if (rf & 2) {
8917          var url_r5 = ctx.$implicit;
8918
8919          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("src", url_r5, _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsanitizeUrl"]);
8920        }
8921      }
8922
8923      var _c2 = function _c2() {
8924        return {
8925          ignoreBackdropClick: true,
8926          backdrop: "static"
8927        };
8928      };
8929
8930      var _ImageModalComponent = /*#__PURE__*/function () {
8931        function _ImageModalComponent(signingService) {
8932          _classCallCheck(this, _ImageModalComponent);
8933
8934          this.signingService = signingService;
8935        }
8936
8937        _createClass(_ImageModalComponent, [{
8938          key: "ngOnInit",
8939          value: function ngOnInit() {}
8940        }, {
8941          key: "showImageModal",
8942          value: function showImageModal() {
8943            this.imageModal.show();
8944          }
8945        }, {
8946          key: "hideImageModal",
8947          value: function hideImageModal() {
8948            this.imageModal.hide();
8949          }
8950        }, {
8951          key: "onClearImages",
8952          value: function onClearImages() {
8953            this.signingService.images = [];
8954            this.signingService.imageURLs = [];
8955            this.imgUploadInput.nativeElement.value = '';
8956          }
8957        }, {
8958          key: "onSelectFiles",
8959          value: function onSelectFiles(e) {
8960            var _this18 = this;
8961
8962            var eventTarget = e.target;
8963            var files = Array.from(eventTarget.files);
8964
8965            if (files.length + this.signingService.imageURLs.length > 3) {
8966              this.ErrorAlertComponent.addImageCountLimit();
8967              return;
8968            }
8969
8970            if (files)
8970 {
8971              var _iterator = _createForOfIteratorHelper(files),
8972                  _step;
8973
8974              try {
8975                for (_iterator.s(); !(_step = _iterator.n()).done;) {
8976                  var item = _step.value;
8977
8978                  // Error handling for files over 8MiB
8979                  if (item.size > _ImageModalComponent.MAX_FILE_SIZE) {
8980                    this.ErrorAlertComponent.addImageSizeLimit(item.name);
8981                    return;
8982                  } // Error handling for unsupported file types
8983
8984
8985                  if (_ImageModalComponent.ACCEPTED_FILE_TYPES.indexOf(item.type) === -1) {
8986                    this.ErrorAlertComponent.addUnsupportedFileType(item.name);
8987                    return;
8988                  }
8989
8990                  var reader = new FileReader();
8991                  reader.readAsDataURL(item);
8992
8993                  reader.onload = function (event) {
8994                    var stringURL = event.target.result.toString();
8995
8996                    _this18.signingService.imageURLs.push(stringURL);
8997                  };
8998
8999                  this.signingService.images.push(item);
9000                }
9001              } catch (err) {
9002                _iterator.e(err);
9003              } finally {
9004                _iterator.f();
9005              }
9006            }
9007          }
9008        }]);
9009
9010        return _ImageModalComponent;
9011      }();
9012
9013      _ImageModalComponent.MAX_FILE_SIZE = 8 * 1024 * 1024; // 8 MiB in bytes
9014
9015      _ImageModalComponent.ACCEPTED_FILE_TYPES = ['image/png', 'image/jpg', 'image/jpeg', 'image/tif', 'image/tiff', 'image/bmp', 'image/gif', 'image/jfif', 'image/pjp'];
9016
9017      _ImageModalComponent.ɵfac = function ImageModalComponent_Factory(t) {
9018        return new (t || _ImageModalComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_core_signing_service__WEBPACK_IMPORTED_MODULE_1__.SigningService));
9019      };
9020
9021      _ImageModalComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineComponent"]({
9022        type: _ImageModalComponent,
9023        selectors: [["app-image-modal"]],
9024        viewQuery: function ImageModalComponent_Query(rf, ctx) {
9025          if (rf & 1) {
9026            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵviewQuery"](_error_alert_error_alert_component__WEBPACK_IMPORTED_MODULE_0__.ErrorAlertComponent, 5);
9027
9028            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵviewQuery"](_c0, 5);
9029
9030            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵviewQuery"](_c1, 5);
9031          }
9032
9033          if (rf & 2) {
9034            var _t;
9035
9036            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵloadQuery"]()) && (ctx.ErrorAlertComponent = _t.first);
9037            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵloadQuery"]()) && (ctx.imageModal = _t.first);
9038            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵloadQuery"]()) && (ctx.imgUploadInput = _t.first);
9039          }
9040        },
9041        decls: 32,
9042        vars: 7,
9043        consts: [["bsModal", "", "tabindex", "-1", "role", "dialog", "aria-labelledby", "dialog-child-name", 1, "modal", "fade", 3, "config"], ["imageModal", "bs-modal"], ["role", "dialog", 1, "modal-dialog", "modal-dialog-centered", "modal-lg"], [1, "modal-content"], [1, "modal-header"], [1, "embed-photo-title"], ["type", "button", "data-dismiss", "modal", "aria-label", "Close", 1, "close", 3, "click"], ["aria-hidden", "true"], ["id", "embed-photo-div", 1, "modal-body", "align-items-center", "p-3"], [1, "row"], [1, "col-md-12", "my-6", "px-lg-5", "px-3", "text-center"], [1, "col-md-12", "text-center"], [4, "ngIf"], ["src", "../../../../assets/images/girl-photos-folder.svg", "alt", "girl with photos folder graphic", "id", "no-images-graphic", 4, "ngIf"], ["class", "col-4 uploaded-image", "alt", "selected image", 3, "src", 4, "ngFor", "ngForOf"], [1, "col-md-12", "my-6", "px-lg-5", "px-3", "text-center", "image-buttons"], ["placement", "bottom", "triggers", "pointerenter:pointerout hover focus", 1, "btn", "btn-primary", "mx-2", 3, "disabled", "tooltip", "click"], ["type", "file", "accept", "image/bmp, image/gif, image/jfif, image/pjp, image/png, image/jpg, image/jpeg, image/tif, image/tiff", "id", "img-upload-input", "multiple", "", 1, "file-upload", "d-none", 3, "change"], ["imgUploadInput", ""], ["type", "button", 1, "btn", "btn-secondary", "mx-2", 3, "click"], [1, "modal-footer"], [1, "row", "w-100"], [1, "col-12", "p-0"], ["type", "button", 1, "btn", "btn-primary", "h-100", "float-right", 3, "click"], ["src", "../../../../assets/images/girl-photos-folder.svg", "alt", "girl with photos folder graphic", "id", "no-images-graphic"], ["alt", "selected image", 1, "col-4", "uploaded-image", 3, "src"]],
9044        template: function ImageModalComponent_Template(rf, ctx) {
9045          if (rf & 1) {
9046            var _r6 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵgetCurrentView"]();
9047
9048            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "div", 0, 1);
9049
9050            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](2, "div", 2);
9051
9052            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](3, "div", 3);
9053
9054            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](4, "div", 4);
9055
9056            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](5, "h5", 5);
9057
9058            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](6, "Attach up to three images!");
9059
9060            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9061
9062            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](7, "button", 6);
9063
9064            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function ImageModalComponent_Template_button_click_7_listener() {
9065              return ctx.hideImageModal();
9066            });
9067
9068            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](8, "span", 7);
9069
9070            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](9, "\xD7");
9071
9072            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9073
9074            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9075
9076            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9077
9078            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](10, "app-error-alert");
9079
9080            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](11, "div", 8);
9081
9082            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](12, "div", 9);
9083
9084            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](13, "div", 10);
9085
9086            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](14, "div", 11);
9087
9088            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](15, ImageModalComponent_h5_15_Template, 2, 0, "h5", 12);
9089
9090            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](16, ImageModalComponent_img_16_Template, 1, 0, "img", 13);
9091
9092            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](17, ImageModalComponent_img_17_Template, 1, 1, "img", 14);
9093
9094            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9095
9096            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9097
9098            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9099
9100            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](18, "div", 9);
9101
9102            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](19, "div", 15);
9103
9104            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](20, "span");
9105
9106            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](21, "button", 16);
9107
9108            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function ImageModalComponent_Template_button_click_21_listener() {
9109              _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵrestoreView"](_r6);
9110
9111              var _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵreference"](24);
9112
9113              return _r4.click();
9114            });
9115
9116            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](22, " Add Images ");
9117
9118            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9119
9120            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9121
9122            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](23, "input", 
912217, 18);
9123
9124            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("change", function ImageModalComponent_Template_input_change_23_listener($event) {
9125              return ctx.onSelectFiles($event);
9126            });
9127
9128            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9129
9130            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](25, "button", 19);
9131
9132            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function ImageModalComponent_Template_button_click_25_listener() {
9133              return ctx.onClearImages();
9134            });
9135
9136            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](26, " Clear Images ");
9137
9138            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9139
9140            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9141
9142            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9143
9144            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9145
9146            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](27, "div", 20);
9147
9148            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](28, "div", 21);
9149
9150            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](29, "div", 22);
9151
9152            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](30, "button", 23);
9153
9154            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function ImageModalComponent_Template_button_click_30_listener() {
9155              return ctx.hideImageModal();
9156            });
9157
9158            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](31, " Save ");
9159
9160            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9161
9162            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9163
9164            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9165
9166            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9167
9168            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9169
9170            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9171
9172            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
9173          }
9174
9175          if (rf & 2) {
9176            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("config", _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpureFunction0"](6, _c2));
9177
9178            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](15);
9179
9180            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngIf", !ctx.signingService.imageURLs.length);
9181
9182            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](1);
9183
9184            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngIf", !ctx.signingService.imageURLs.length);
9185
9186            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](1);
9187
9188            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngForOf", ctx.signingService.imageURLs);
9189
9190            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](4);
9191
9192            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("disabled", ctx.signingService.imageURLs.length > 2)("tooltip", ctx.signingService.imageURLs.length > 2 ? "You cannot add more than 3 images." : "");
9193          }
9194        },
9195        directives: [ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_2__.ModalDirective, _error_alert_error_alert_component__WEBPACK_IMPORTED_MODULE_0__.ErrorAlertComponent, _angular_common__WEBPACK_IMPORTED_MODULE_5__.NgIf, _angular_common__WEBPACK_IMPORTED_MODULE_5__.NgForOf, ngx_bootstrap_tooltip__WEBPACK_IMPORTED_MODULE_3__.TooltipDirective],
9196        styles: ["#img-upload-input[_ngcontent-%COMP%] {\n  height: 100%;\n  width: 100%;\n}\n\n.image-buttons[_ngcontent-%COMP%] {\n  margin: 1em 0;\n  position: absolute;\n  bottom: 0;\n}\n\n#no-images-graphic[_ngcontent-%COMP%] {\n  max-width: 100%;\n}\n\n#embed-photo-div[_ngcontent-%COMP%] {\n  height: 20em;\n}\n\n#no-images-graphic[_ngcontent-%COMP%], .uploaded-image[_ngcontent-%COMP%] {\n  max-height: 13em;\n  -o-object-fit: contain;\n     object-fit: contain;\n}\n\n.btn-primary.disabled[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:disabled {\n  background-color: var(--accent) !important;\n  border-color: var(--accent) !important;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImltYWdlLW1vZGFsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0VBQ1osV0FBVztBQUNiOztBQUVBO0VBQ0UsYUFBYTtFQUNiLGtCQUFrQjtFQUNsQixTQUFTO0FBQ1g7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsWUFBWTtBQUNkOztBQUVBOztFQUVFLGdCQUFnQjtFQUNoQixzQkFBbUI7S0FBbkIsbUJBQW1CO0FBQ3JCOztBQUVBOztFQUVFLDBDQUEwQztFQUMxQyxzQ0FBc0M7QUFDeEMiLCJmaWxlIjoiaW1hZ2UtbW9kYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNpbWctdXBsb2FkLWlucHV0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmltYWdlLWJ1dHRvbnMge1xuICBtYXJnaW46IDFlbSAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbn1cblxuI25vLWltYWdlcy1ncmFwaGljIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4jZW1iZWQtcGhvdG8tZGl2IHtcbiAgaGVpZ2h0OiAyMGVtO1xufVxuXG4jbm8taW1hZ2VzLWdyYXBoaWMsXG4udXBsb2FkZWQtaW1hZ2Uge1xuICBtYXgtaGVpZ2h0OiAxM2VtO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4uYnRuLXByaW1hcnkuZGlzYWJsZWQsXG4uYnRuLXByaW1hcnk6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KSAhaW1wb3J0YW50O1xufVxuIl19 */"]
9197      });
9198      /***/
9199    },
9200
9201    /***/
9202    63168:
9203    /*!****************************************************!*\
9204      !*** ./src/app/pages/signing/signing.component.ts ***!
9205      \****************************************************/
9206
9207    /***/
9208    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9209      "use strict";
9210
9211      __webpack_require__.r(__webpack_exports__);
9212      /* harmony export */
9213
9214
9215      __webpack_require__.d(__webpack_exports__, {
9216        /* harmony export */
9217        "SigningComponent": function SigningComponent() {
9218          return (
9219            /* binding */
9220            _SigningComponent
9221          );
9222        }
9223        /* harmony export */
9224
9225      });
9226      /* harmony import */
9227
9228
9229      var _core_common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
9230      /*! ../../core/common.service */
9231      80150);
9232      /* harmony import */
9233
9234
9235      var _image_modal_image_modal_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
9236      /*! ./image-modal/image-modal.component */
9237      16843);
9238      /* harmony import */
9239
9240
9241      var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
9242      /*! @angular/core */
9243      37716);
9244      /* harmony import */
9245
9246
9247      var _angular_router__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
9248      /*! @angular/router */
9249      39895);
9250      /* harmony import */
9251
9252
9253      var src_app_core_auth_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
9254      /*! src/app/core/auth.service */
9255      87341);
9256      /* harmony import */
9257
9258
9259      var _core_signing_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
9260      /*! ../../core/signing.service */
9261      89214);
9262      /* harmony import */
9263
9264
9265      var _core_msg_io_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
9266      /*! ../../core/msg-io.service */
9267      84468);
9268      /* harmony import */
9269
9270
9271      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
9272      /*! @angular/platform-browser */
9273      39075);
9274      /* harmony import */
9275
9276
9277      var ngx_device_detector__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(
9278      /*! ngx-device-detector */
9279      1135);
9280      /* harmony import */
9281
9282
9283      var _angular_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(
9284      /*! @angular/common */
9285      38583);
9286      /* harmony import */
9287
9288
9289      var _angular_forms__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(
9290      /*! @angular/forms */
9291      3679);
9292      /* harmony import */
9293
9294
9295      var ngx_markdown__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(
9296      /*! ngx-markdown */
9297      76715);
9298
9299      function SigningComponent_div_1_Template(rf, ctx) {
9300        if (rf & 1) {
9301          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "div", 63);
9302
9303          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](1, "div", 64);
9304
9305          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9306        }
9307      }
9308
9309      function SigningComponent_div_2_Template(rf, ctx) {
9310        if (rf & 1) {
9311          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "div", 3);
9312
9313          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](1, "div", 65);
9314
9315          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](2, " The Virtrolio signing experience is better on a desktop or laptop computer! ");
9316
9317          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](3, "strong");
9318
9319          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](4, "u");
9320
9321          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](5, "a", 66);
9322
9323          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](6, "Why?");
9324
9325          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9326
9327          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9328
9329          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9330
9331          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9332
9333          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9334        }
9335      }
9336
9337      var _c0 = function _c0(a0) {
9338        return {
9339          color: a0
9340        };
9341      };
9342
9343      function SigningComponent_span_12_Template(rf, ctx) {
9344        if (rf & 1) {
9345          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "span", 67);
9346
9347          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](1);
9348
9349          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9350        }
9351
9352        if (rf & 2) {
9353          var ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"]();
9354
9355          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction1"](3, _c0, ctx_r3.signingService.charCountColor));
9356
9357          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1);
9358
9359          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtextInterpolate2"](" ", ctx_r3.signingService.charCount, " / ", ctx_r3.signingService.maxCharCount, " ");
9360        }
9361      }
9362
9363      var _c1 = function _c1(a0) {
9364        return {
9365          "font-family": a0
9366        };
9367      };
9368
9369      function SigningComponent_span_21_Template(rf, ctx) {
9370        if (rf & 1) {
9371          var _r9 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵgetCurrentView"]();
9372
9373          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "span");
9374
9375          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](1, "a", 68);
9376
9377          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_span_21_Template_a_click_1_listener() {
9378            var restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r9);
9379
9380            var font_r7 = restoredCtx.$implicit;
9381
9382            var ctx_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"]();
9383
9384            return ctx_r8.signingService.selectFont(font_r7.key);
9385          });
9386
9387          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](2);
9388
9389          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9390
9391          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9392        }
9393
9394        if (rf & 2) {
9395          var font_r7 = ctx.$implicit;
9396
9397          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1);
9398
9399          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction1"](2, _c1, font_r7.key));
9400
9401          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1);
9402
9403          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtextInterpolate"](font_r7.key);
9404        }
9405      }
9406
9407      function SigningComponent_span_55_Template(rf, ctx) {
9408        if (rf & 1) {
9409          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "span", 69);
9410
9411          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](1);
9412
9413          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9414        }
9415
9416        if (rf & 2) {
9417          var ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"]();
9418
9419          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1);
9420
9421          _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtextInterpolate"](ctx_r5.checkImageList(true));
9422        }
9423      }
9424
9425      var _c2 = function _c2(a0) {
9426        return {
9427          "background-color": a0
9428        };
9429      };
9430
9431      var _c3 = function _c3(a0, a1, a2) {
9432        return {
9433          "background-color": a0,
9434          color: a1,
9435          "font-family": a2
9436        };
9437      };
9438      /**
9439       * Controls user interaction with the signing box, updating the preview display and sending the message when they
9440       * click on the 'Send' button.
9441       */
9442
9443
9444      var _SigningComponent = /*#__PURE__*/function () {
9445        function _SigningComponent(route, authService, signingService, msgIo, router, title, deviceDetector) {
9446          _classCallCheck(this, _SigningComponent);
9447
9448          this.route = route;
9449          this.authService = authService;
9450          this.signingService = signingService;
9451          this.msgIo = msgIo;
9452          this.router = router;
9453          this.title = title;
9454          this.deviceDetector = deviceDetector;
9455          this.name = 'your friend';
9456          this.isSending = false;
9457          this.embedLink = '';
9458          this.imageWidth = 50;
9459          this.copyButtonText = 'Copy';
9460        }
9461        /**
9462         * Extract query parameters, maximum message length, fonts, and recipient username from appropriate services
9463         */
9464
9465
9466        _createClass(_SigningComponent, [{
9467          key: "ngOnInit",
9468          value: function ngOnInit() {
9469            var _this19 = this;
9470
9471            this.authService.redirectLoginUserCreation()["catch"](function (error) {
9472              return _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
9473            });
9474            this.route.queryParams.subscribe(function (params) {
9475              _this19.uid = params.uid;
9476              _this19.key = params.key;
9477            });
9478            this.authService.displayName(this.uid).then(function (userName) {
9479              _this19.name = userName;
9480
9481              _this19.title.setTitle('Signing ' + userName + "'s Virtrolio | Virtrolio");
9482            })["catch"](function (error) {
9483              return alert(error);
9484            });
9485            this.signingService.resetDefaultValues();
9486            $('[data-toggle="popover"]').popover();
9487            $('.popover-dismiss').popover({
9488              trigger: 'focus'
9489            });
9490          }
9491        }, {
9492          key: "ngOnDestroy",
9493          value: function ngOnDestroy() {
9494            $('#submit-confirm').modal('hide');
9495            $('#info').modal('hide');
9496            $('#embed-help').modal('hide');
9497            $('#embed-photo').modal('hide');
9498            $('#signing-experience').modal('hide');
9499          }
9500          /**
9501           * Returns whether or not the user can navigate (safely) away
9502           * Returning true will navigate instantly
9503           * Returning false will prompt the user to confirm the navigation
9504           */
9505
9506        }, {
9507          key: "canDeactivate",
9508          value: function canDeactivate() {
9509            return !this.signingService.signingBoxText || !this.isSending;
9510          }
9511          /**
9512           * Resets image width slider value to 100 or 0 if the user tries to input a number that's too large
9513           */
9514
9515        }, {
9516          key: "checkSliderValue",
9517          value: function checkSliderValue() {
9518            if (this.imageWidth > 100) {
9519              this.imageWidth = 100;
9520            } else if (this.imageWidth < 0) {
9521              this.imageWidth = 0;
9522            }
9523          }
9524          /**
9525           * Checks if the user has uploaded any images to the image modal
9526           */
9527
9528        }, {
9529          key: "checkImageList",
9530          value: function checkImageList(numerical) {
9531            var urlList = this.signingService.imageURLs;
9532
9533            if (urlList === undefined) {
9534              // Check if image modal component has not been rendered yet
9535              return numerical ? 0 : false;
9536            } else if (urlList.length === 0) {
9537              return numerical ? 0 : false;
9538            } else if (urlList.length > 0) {
9539              return numerical ? urlList.length : true;
9540            } else {
9541              _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError('There was an error while checking your uploaded images');
9542            }
9543          }
9544          /**
9545           * Creates a new blank message and fills in all the info before sending it
9546           * @param textbox - the textbox where the contents of the message are retrieved from (not the preview box)
9547           */
9548
9549        }, {
9550          key: "sendMsg",
9551          value: function sendMsg(textbox) {
9552            var _this20 = this;
9553
9554            var newMsg = this.msgIo.createBlankMessage();
9555            newMsg.backColor = this.signingService.backgroundColor;
9556            newMsg.fontColor = this.signingService.textColor;
9557            newMsg.fontFamily = this.signingService.currentFont;
9558            newMsg.contents = textbox.value;
9559            newMsg.to = this.uid; // remove navigation popup
9560
9561            this.isSending = true;
9562            this.msgIo.sendMessage(newMsg, this.key).then(function () {
9563              _this20.isSending = false;
9564
9565              _this20.router.navigate(['/msg-sent'], {
9566                queryParams: {
9567                  name: _this20.name
9568                }
9569              })["catch"](function (e) {
9570                return _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e);
9571              });
9572            })["catch"](function (error) {
9573              _this20.isSending = false;
9574
9575              _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
9576            });
9577          }
9578          /**
9579           * Selects an inputElement's field and copies its contents to the clipboard, updating the button to confirm the copy
9580           * @param inputElement - the element to read from
9581           */
9582
9583        }, {
9584          key: "copyLink",
9585          value: function copyLink(inputElement) {
9586            inputElement.select();
9587            inputElement.setSelectionRange(0, 10000);
9588            document.execCommand('copy');
9589            this.copyButtonText = 'Copied!';
9590          }
9591        }]);
9592
9593        return _SigningComponent;
9594      }();
9595
9596      _SigningComponent.ɵfac = function SigningComponent_Factory(t) {
9597        return new (t || _SigningComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_6__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](src_app_core_auth_service__WEBPACK_IMPORTED_MODULE_2__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_core_signing_service__WEBPACK_IMPORTED_MODULE_3__.SigningService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_core_msg_io_service__WEBPACK_IMPORTED_MODULE_4__.MsgIoService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_6__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_7__.Title), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](ngx_device_detector__WEBPACK_IMPORTED_MODULE_8__.DeviceDetectorService));
9598      };
9599
9600      _SigningComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdefineComponent"]({
9601        type: _SigningComponent,
9602        selectors: [["app-signing"]],
9603        viewQuery: function SigningComponent_Query(rf, ctx) {
9604          if (rf & 1) {
9605            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵviewQuery"](_image_modal_image_modal_component__WEBPACK_IMPORTED_MODULE_1__.ImageModalComponent, 5);
9606          }
9607
9608          if (rf & 2) {
9609            var _t;
9610
9611            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵloadQuery"]()) && (ctx.imageModalComponent = _t.first);
9612          }
9613        },
9614        hostBindings: function SigningComponent_HostBindings(rf, ctx) {
9615          if (rf & 1) {
9616            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("beforeunload", function SigningComponent_beforeunload_HostBindingHandler() {
9617              return ctx.canDeactivate();
9618            }, false, _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵresolveWindow"]);
9619          }
9620        },
9621        decls: 144,
9622        vars: 35,
9623        consts: [[1, "container", "py-4", "center-children", "vertical-center"], ["class", "d-flex justify-content-center", "id", "spinner-overlay-container", 4, "ngIf"], ["class", "row", 4, "ngIf"], [1, "row"], [1, "col-md-6", "order-md-1", "center-children"], [1, "row", "title-div", "vertical-center"], ["for", "signing-box"], ["autofocus", "", "id", "signing-box", "placeholder", "You must type something before you can hit send!", 1, "form-control", 3, "ngModel", "ngStyle", "keyup", "ngModelChange"], ["signingInputArea", ""], ["id", "char-count-display", 3, "ngStyle", 4, "ngIf"], [1, "col-md-12", "order-md-3"], ["id", "options", 1, "row", "justify-content-center"], [1, "dropdown"], ["aria-expanded", "false", "aria-haspopup", "true", "data-toggle", "dropdown", "id", "font-selector-dropdown", "type", "button", 1, "btn", "btn-secondary", "dropdown-toggle", 3, "ngStyle"], [1, "caret"], ["aria-labelledby", "font-selector-dropdown", 1, "dropdown-menu"], [4, "ngFor", "ngForOf"], ["id", "button-bold", "type", "button", 1, "btn", "btn-secondary", "btn-format", "mr-2", 3, "click"], ["id", "button-italics", "type", "button", 1, "btn", "btn-secondary", "btn-format", "mr-2", 3, "click"], ["id", "button-underline", "type", "button", 1, "btn", "btn-secondary", "btn-format", "mr-2", 3, "click"], ["id", "button-strikethrough", "type", "button", 1, "btn", "btn-secondary", "btn-format", "mr-2", 3, "click"], ["type", "button", 1, "btn", "btn-secondary", "btn-format", "mr-2", "icon-wrapper"], ["id", "font-color-text"], ["for", "color-picker-font", "hidden", ""], ["id", "color-picker-font", "name", "fontColorPicker", "type", "color", 1, "mr-2", 3, "ngModel", "value", "ngModelChange"], [1, "dynamic-color-bar", 3, "ngStyle"], ["alt", "fill color selector", "id", "fill-color-icon", "src", "../../../assets/images/icons/SigningIcon_fill-color.svg"], ["for", "color-picker-background", "hidden", ""], ["id", "color-picker-background", "name", "background-color-picker", "type", "color", 1, "mr-2", 3, "ngModel", "value", "ngModelChange"], ["tabindex", "0", "role", "button", "data-toggle", "popover", "data-trigger", "focu
9623s", "title", "Emojis", "data-html", "true", "data-content", "If you're on a\n           desktop or laptop, click inside your message and press Windows + Period on Windows or Command + Control +\n           Space on a Mac to open your computer's Emoji Keyboard!<br><br>If you're on a phone you should already have an\n           emoji keyboard built into your keyboard! <br><br> Note: not all emojis may be supported; check\n           <a href='https://github.com/ikatyang/emoji-cheat-sheet/blob/master/README.md' target='_blank'>this list of\n           supported emojis</a> to make sure! \u2764", 1, "btn", "btn-secondary", "btn-format", "mr-2", "icon-wrapper", "vertical-center"], ["id", "image-button-wrapper", 1, "position-relative"], ["type", "button", "id", "btn-photo", 1, "btn", "btn-format", "icon-wrapper", 3, "ngClass", "click"], ["alt", "image icon", "id", "image-icon", "src", "../../../assets/images/icons/SigningIcon_image.svg"], ["class", "d-flex align-items-center justify-content-center", "id", "image-notification-circle", 4, "ngIf"], ["type", "button", "id", "btn-info", "data-toggle", "modal", "data-target", "#info", 1, "btn", "btn-primary"], [1, "row", "mt-3", "justify-content-center"], ["data-target", "#submit-confirm", "data-toggle", "modal", "id", "send-button", "type", "button", 1, "btn", "btn-primary", "btn-send", 3, "disabled"], [1, "col-md-6", "order-md-2", "center-children"], [1, "row", "title-div", "mt-3", "mt-md-0", "vertical-center"], ["for", "preview-text"], ["emoji", "", "id", "preview-text", 3, "ngStyle", "data"], ["previewBoxArea", ""], ["aria-hidden", "true", "aria-labelledby", "submit-confirm-title", "id", "submit-confirm", "role", "dialog", "tabindex", "-1", 1, "modal", "fade"], ["role", "document", 1, "modal-dialog", "modal-dialog-centered"], [1, "modal-content"], [1, "modal-header"], ["id", "submit-confirm-title", 1, "modal-title"], ["aria-label", "Close", "data-dismiss", "modal", "type", "button", 1, "close"], ["aria-hidden", "true"], [1, "modal-body", 2, "text-align", "center"], ["href", "/terms-of-service", "target", "_blank"], ["href", "/privacy-policy", "target", "_blank"], [1, "row", "justify-content-center"], [1, "modal-footer"], ["data-dismiss", "modal", "type", "button", 1, "btn", "btn-primary", 3, "click"], ["data-dismiss", "modal", "type", "button", 1, "btn", "btn-secondary"], ["id", "info", "tabindex", "-1", "role", "dialog", "aria-labelledby", "info-title", "aria-hidden", "true", 1, "modal", "fade"], ["id", "info-title", 1, "modal-title"], ["type", "button", "data-dismiss", "modal", "aria-label", "Close", 1, "close"], [1, "modal-body"], ["href", "https://www.markdownguide.org/basic-syntax/", "target", "_blank"], ["id", "signing-experience", "tabindex", "-1", "role", "dialog", "aria-labelledby", "experience-title", "aria-hidden", "true", 1, "modal", "fade"], ["id", "experience-title", 1, "modal-title"], ["id", "spinner-overlay-container", 1, "d-flex", "justify-content-center"], ["role", "status", 1, "spinner-border"], ["id", "signing-experience-alert", 1, "col-12", "alert", "alert-primary"], ["data-toggle", "modal", "data-target", "#signing-experience"], ["id", "char-count-display", 3, "ngStyle"], [1, "dropdown-item", 3, "ngStyle", "click"], ["id", "image-notification-circle", 1, "d-flex", "align-items-center", "justify-content-center"]],
9624        template: function SigningComponent_Template(rf, ctx) {
9625          if (rf & 1) {
9626            var _r10 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵgetCurrentView"]();
9627
9628            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "div", 0);
9629
9630            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](1, SigningComponent_div_1_Template, 2, 0, "div", 1);
9631
9632            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](2, SigningComponent_div_2_Template, 7, 0, "div", 2);
9633
9634            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](3, "div", 3);
9635
9636            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](4, "div", 4);
9637
9638            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](5, "div", 5);
9639
9640            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](6, "label", 6);
9641
9642            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](7, "b");
9643
9644            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](8);
9645
9646            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9647
9648            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9649
9650            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9651
9652            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](9, "div", 3);
9653
9654            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](10, "textarea", 7, 8);
9655
9656            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("keyup", function SigningComponent_Template_textarea_keyup_10_listener() {
9657              _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r10);
9658
9659              var _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵreference"](11);
9660
9661              return ctx.signingService.updateCount(_r2);
9662            })("ngModelChange", function SigningComponent_Template_textarea_ngModelChange_10_listener($event) {
9663              return ctx.signingService.signingBoxText = $event;
9664            });
9665
9666            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9667
9668            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](12, SigningComponent_span_12_Template, 2, 5, "span", 9);
9669
9670            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9671
9672            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9673
9674            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](13, "div", 10);
9675
9676            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](14, "div", 11);
9677
9678            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](15, "div", 12);
9679
9680            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](16, "button", 13);
9681
9682            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](17, "span");
9683
9684            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](18);
9685
9686            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9687
9688            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](19, "span", 14);
9689
9690            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9691
9692            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](20, "div", 15);
9693
9694            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](21, SigningComponent_span_21_Template, 3, 4, "span", 16);
9695
9696            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpipe"](22, "keyvalue");
9697
9698            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9699
9700            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9701
9702            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](23, "button", 17);
9703
9704            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_Template_button_click_23_listener() {
9705              _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r10);
9706
9707              var _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵreference"](11);
9708
9709              return ctx.signingService.addFormatting(_r2, "**");
9710            });
9711
9712            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](24, "b");
9713
9714            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](25, "B");
9715
9716            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9717
9718            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9719
9720            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](26, "button", 18);
9721
9722            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_Template_button_click_26_listener() {
9723              _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r10);
9724
9725              var _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵreference"](11);
9726
9727              return ctx.signingService.addFormatting(_r2, "*");
9728            });
9729
9730            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](27, "i");
9731
9732            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](28, "I");
9733
9734            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9735
9736            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9737
9738            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](29, "button", 19);
9739
9740            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_Template_button_click_29_listener() {
9741              _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r10);
9742
9743              var _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵreference"](11);
9744
9745              return ctx.signingService.addFormatting(_r2, "<u>", "</u>");
9746            });
9747
9748            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](30, "u");
9749
9750            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](31, "U");
9751
9752            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9753
9754            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9755
9756            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](32, "button", 20);
9757
9758            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_Template_button_click_32_listener() {
9759              _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r10);
9760
9761              var _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵreference"](11);
9762
9763              return ctx.signingService.addFormatting(_r2, "~~");
9764            });
9765
9766            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](33, "s");
9767
9768            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](34, "S");
9769
9770            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9771
9772            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9773
9774            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](35, "button", 21);
9775
9776            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](36, "span", 22);
9777
9778            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](37, "A");
9779
9780            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9781
9782            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](38, "label", 23);
9783
9784            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](39, "Colour picker for font");
9785
9786            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9787
9788            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](40, "input", 24);
9789
9790            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("ngModelChange", function SigningComponent_Template_input_ngModelChange_40_listener($event) {
9791              return ctx.signingService.textColor = $event;
9792            });
9793
9794            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9795
9796            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](41, "span", 25);
9797
9798            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](42, "\xA0");
9799
9800            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9801
9802            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9803
9804            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](43, "button", 21);
9805
9806            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](44, "img", 26);
9807
9808            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](45, "label", 27);
9809
9810            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](4
98106, "Colour picker for background");
9811
9812            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9813
9814            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](47, "input", 28);
9815
9816            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("ngModelChange", function SigningComponent_Template_input_ngModelChange_47_listener($event) {
9817              return ctx.signingService.backgroundColor = $event;
9818            });
9819
9820            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9821
9822            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](48, "span", 25);
9823
9824            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](49, "\xA0");
9825
9826            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9827
9828            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9829
9830            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](50, "a", 29);
9831
9832            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](51, "\uD83D\uDE00 ");
9833
9834            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9835
9836            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](52, "div", 30);
9837
9838            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](53, "button", 31);
9839
9840            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_Template_button_click_53_listener() {
9841              return ctx.imageModalComponent.showImageModal();
9842            });
9843
9844            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](54, "img", 32);
9845
9846            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9847
9848            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](55, SigningComponent_span_55_Template, 2, 1, "span", 33);
9849
9850            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9851
9852            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](56, "button", 34);
9853
9854            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](57, " More Info! ");
9855
9856            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9857
9858            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9859
9860            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](58, "div", 35);
9861
9862            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](59, "button", 36);
9863
9864            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](60, " Send ");
9865
9866            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9867
9868            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9869
9870            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9871
9872            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](61, "div", 37);
9873
9874            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](62, "div", 38);
9875
9876            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](63, "label", 39);
9877
9878            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](64, "strong");
9879
9880            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](65, "Preview");
9881
9882            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9883
9884            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9885
9886            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9887
9888            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](66, "div", 3);
9889
9890            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](67, "markdown", 40, 41);
9891
9892            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9893
9894            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9895
9896            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9897
9898            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9899
9900            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](69, "div", 42);
9901
9902            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](70, "div", 43);
9903
9904            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](71, "div", 44);
9905
9906            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](72, "div", 45);
9907
9908            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](73, "h5", 46);
9909
9910            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](74, " Are you sure you want to send this? ");
9911
9912            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9913
9914            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](75, "button", 47);
9915
9916            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](76, "span", 48);
9917
9918            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](77, "\xD7");
9919
9920            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9921
9922            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9923
9924            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9925
9926            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](78, "div", 49);
9927
9928            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](79, "p");
9929
9930            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](80, " You can only submit one message to a friend\u2019s virtrolio per year, so be absolutely certain! ");
9931
9932            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9933
9934            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](81, "p");
9935
9936            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](82, " By sending a message, you agree to our ");
9937
9938            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](83, "a", 50);
9939
9940            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](84, "Terms of Service");
9941
9942            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9943
9944            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](85, " and our ");
9945
9946            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](86, "a", 51);
9947
9948            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](87, "Privacy Policy");
9949
9950            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9951
9952            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](88, ". ");
9953
9954            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9955
9956            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](89, "div", 52);
9957
9958            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9959
9960            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](90, "div", 53);
9961
9962            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](91, "button", 54);
9963
9964            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_Template_button_click_91_listener() {
9965              _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r10);
9966
9967              var _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵreference"](11);
9968
9969              return ctx.sendMsg(_r2);
9970            });
9971
9972            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](92, " Send it! ");
9973
9974            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9975
9976            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](93, "button", 55);
9977
9978            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](94, " Close ");
9979
9980            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9981
9982            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9983
9984            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9985
9986            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9987
9988            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
9989
9990            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](95, "div", 56);
9991
9992            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](96, "div", 43);
9993
9994            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](97, "div", 44);
9995
9996            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](98, "div", 45);
9997
9998            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](99, "h4", 57);
9999
10000            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](100, "Craft your perfect message!");
10001
10002            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10003
10004            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](101, "button", 58);
10005
10006            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](102, "span", 48);
10007
10008            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](103, "\xD7");
10009
10010            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10011
10012            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10013
10014            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10015
10016            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](104, "div", 59);
10017
10018            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](105, "h5");
10019
10020            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](106, "Additional Formatting Tools");
10021
10022            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10023
10024            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](107, "p");
10025
10026            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](108, " Virtrolio supports a modified version of ");
10027
10028            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](109, "em");
10029
10030            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](110, "Markdown");
10031
10032            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10033
10034            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](111, " to format text. While we support most of Markdown's features, we haven't added buttons for all of them, so there's still a lot to try out! Learn how to type in markdown ");
10035
10036            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](112, "a", 60);
10037
10038            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](113, "here");
10039
10040            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10041
10042            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](114, ". ");
10043
10044            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10045
10046            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](115, "p");
10047
10048            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](116, "em");
10049
10050            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](117, "Note: Not all Markdown features will work with Virtrolio messages.");
10051
10052            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10053
10054            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10055
10056            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](118, "h5");
10057
10058            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](119, "Something to Note");
10059
10060            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10061
10062            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](120, "p");
10063
10064            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](121);
10065
10066            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10067
10068            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10069
10070            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](122, "div", 53);
10071
10072            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](123, "button", 55);
10073
10074            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](124, " Close ");
10075
10076            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10077
10078            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10079
10080            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10081
10082            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10083
10084            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10085
10086            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](125, "div", 61);
10087
10088            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](126, "div", 43);
10089
10090            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](127, "div", 44);
10091
10092            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](128, "div", 45);
10093
10094            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](129, "h4", 62);
10095
10096            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](130, " Do I need a larger screen to use Virtrolio? ");
10097
10098            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10099
10100            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](131, "button", 47);
10101
10102            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](132, "span", 48);
10103
10104            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](133, "\xD7");
10105
10106            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10107
10108            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10109
10110            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10111
10112            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](134, "div", 59);
10113
10114            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](135, "p");
10115
10116            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](136, " For most purposes, no. We designed the rest of Virtrolio to be used on a mobile OR desktop/laptop device, but we suggest that you try ");
10117
10118            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](137, "em");
10119
10120            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](138, "signing");
10121
10122            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10123
10124            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](139, " messages on a desktop or laptop computer instead of a phone or tablet. This is because not only is it easier to write out a message when you have a larger screen, but some of the components (like the colour pickers) are not as good-looking or easy to use on mobile. ");
10125
10126            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10127
10128            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10129
10130            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](140, "div", 53);
10131
10132            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](141, "button", 55);
10133
10134            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](142, " Close ");
10135
10136            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10137
10138            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10139
10140            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10141
10142            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10143
10144            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
10145
10146            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](143, "app-image-modal");
10147          }
10148
10149          if (rf & 2) {
10150            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1);
10151
10152            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", ctx.isSending);
10153
10154            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1);
10155
10156            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", ctx.deviceDetector.isMobile());
10157
10158            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](6);
10159
10160            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtextInterpolate1"]("Type your message to ", ctx.name, " below.");
10161
10162            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2);
10163
10164            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngModel", ctx.signingService.signingBoxText)("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction1"](23, _c1, ctx.signingService.currentFontFamily));
10165
10166            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2);
10167
10168            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", ctx.signingS
10168ervice.charCount >= 2000);
10169
10170            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](4);
10171
10172            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction1"](25, _c1, ctx.signingService.currentFontFamily));
10173
10174            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2);
10175
10176            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtextInterpolate"](ctx.signingService.currentFontDisplay);
10177
10178            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](3);
10179
10180            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngForOf", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpipeBind1"](22, 21, ctx.signingService.fontDict));
10181
10182            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](19);
10183
10184            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpropertyInterpolate"]("value", ctx.signingService.textColor);
10185
10186            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngModel", ctx.signingService.textColor);
10187
10188            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1);
10189
10190            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction1"](27, _c2, ctx.signingService.textColor));
10191
10192            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](6);
10193
10194            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpropertyInterpolate"]("value", ctx.signingService.backgroundColor);
10195
10196            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngModel", ctx.signingService.backgroundColor);
10197
10198            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1);
10199
10200            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction1"](29, _c2, ctx.signingService.backgroundColor));
10201
10202            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](5);
10203
10204            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngClass", ctx.checkImageList() ? "btn-primary" : "btn-secondary");
10205
10206            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2);
10207
10208            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", ctx.checkImageList());
10209
10210            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](4);
10211
10212            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("disabled", !ctx.signingService.canSend);
10213
10214            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](8);
10215
10216            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpropertyInterpolate"]("data", ctx.signingService.signingBoxText);
10217
10218            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction3"](31, _c3, ctx.signingService.backgroundColor, ctx.signingService.textColor, ctx.signingService.currentFontFamily));
10219
10220            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](54);
10221
10222            _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtextInterpolate1"](" Some characters you type will count as more characters than you think. For example, an 'enter' (or a 'new line') counts as 5 characters. Don't worry, we've given you ", ctx.signingService.maxCharCount, " characters to work with! ");
10223          }
10224        },
10225        directives: [_angular_common__WEBPACK_IMPORTED_MODULE_9__.NgIf, _angular_forms__WEBPACK_IMPORTED_MODULE_10__.DefaultValueAccessor, _angular_forms__WEBPACK_IMPORTED_MODULE_10__.NgControlStatus, _angular_forms__WEBPACK_IMPORTED_MODULE_10__.NgModel, _angular_common__WEBPACK_IMPORTED_MODULE_9__.NgStyle, _angular_common__WEBPACK_IMPORTED_MODULE_9__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_9__.NgClass, ngx_markdown__WEBPACK_IMPORTED_MODULE_11__.MarkdownComponent, _image_modal_image_modal_component__WEBPACK_IMPORTED_MODULE_1__.ImageModalComponent],
10226        pipes: [_angular_common__WEBPACK_IMPORTED_MODULE_9__.KeyValuePipe],
10227        styles: ["#signing-experience-alert[_ngcontent-%COMP%] {\n  text-align: center;\n}\n\n\n\n#signing-box[_ngcontent-%COMP%] {\n  margin: 0.5em;\n  padding: 1em;\n  width: 40em;\n  height: 20em;\n  resize: none;\n  color: #000000;\n  font-size: 1em;\n  border-width: 0.05em;\n  border-radius: 0.25rem;\n  box-shadow: var(--signing-shadow);\n}\n\n#char-count-display[_ngcontent-%COMP%] {\n  z-index: 10;\n  position: absolute;\n  bottom: -1em;\n  right: 2em;\n}\n\n.form-control[_ngcontent-%COMP%] {\n  border-color: var(--light-grey);\n}\n\n.form-control[_ngcontent-%COMP%]:focus {\n  border-color: var(--accent);\n}\n\nmarkdown[_ngcontent-%COMP%] {\n  margin: 0.5em;\n  padding: 1em;\n  width: 40em;\n  height: 20em;\n  resize: none;\n  font: 1em Arial;\n  border: 0.05em solid var(--light-grey);\n  overflow-y: auto;\n  overflow-x: auto;\n  word-wrap: break-word;\n  border-radius: 0.25rem;\n  box-shadow: var(--signing-shadow);\n  line-height: 1.5;\n}\n\n\n\n#options[_ngcontent-%COMP%]    > *[_ngcontent-%COMP%] {\n  margin: 1.4em 0.5em 0.8em;\n  box-shadow: var(--signing-shadow);\n}\n\n#font-selector-dropdown[_ngcontent-%COMP%] {\n  display: flex;\n  display: -webkit-flex;\n  justify-content: space-between;\n  align-items: center;\n  text-align: right;\n  width: 12em;\n  height: 2.5em;
10227\n}\n\n#font-selector-dropdown[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]:not(.caret) {\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n#font-selector-dropdown[_ngcontent-%COMP%]   .caret[_ngcontent-%COMP%] {\n  margin: auto;\n}\n\n.btn-format[_ngcontent-%COMP%] {\n  width: 2.5em;\n  height: 2.5em;\n}\n\n.btn-send[_ngcontent-%COMP%] {\n  width: 6em;\n  height: 2.5em;\n}\n\n.btn-send[_ngcontent-%COMP%]:disabled {\n  background-color: var(--light-grey);\n}\n\n.dropdown-item[_ngcontent-%COMP%] {\n  cursor: pointer;\n}\n\n.dropdown-item[_ngcontent-%COMP%]:active {\n  background-color: var(--accent);\n}\n\n.dropdown-menu[_ngcontent-%COMP%] {\n  overflow-y: auto;\n  height: 12em;\n  z-index: 2000;\n}\n\n#fill-color-icon[_ngcontent-%COMP%] {\n  width: 1.5em;\n  margin: 0 auto 0.1em auto;\n}\n\n#image-icon[_ngcontent-%COMP%] {\n  width: 1.7em;\n  margin: 0 auto;\n}\n\n.icon-wrapper[_ngcontent-%COMP%] {\n  padding: 0;\n  cursor: pointer;\n}\n\n#color-picker-font[_ngcontent-%COMP%], #color-picker-background[_ngcontent-%COMP%] {\n  opacity: 0;\n  position: absolute;\n  display: block;\n  z-index: 1;\n  width: 2.2em;\n  height: 2.2em;\n  margin: -1.55em 0.05em !important;\n  cursor: pointer;\n}\n\n#font-color-text[_ngcontent-%COMP%] {\n  margin-bottom: 0;\n  font-size: large;\n}\n\n.dynamic-color-bar[_ngcontent-%COMP%] {\n  display: block;\n  height: 0.4em;\n  margin: 0.1em 0.2em;\n  border-radius: 0.4em;\n}\n\n#image-notification-circle[_ngcontent-%COMP%] {\n  border-radius: 100%;\n  height: 1.5em;\n  width: 1.5em;\n  position: absolute;\n  right: -0.4375em;\n  top: -0.375em;\n  color: white;\n  background-color: var(--light-grey);\n}\n\n#image-button-wrapper[_ngcontent-%COMP%] {\n  border-radius: 0.25rem; \n}\n\n\n\n.title-div[_ngcontent-%COMP%] {\n  height: 3em;\n  margin: 0 0.5em 0 0.5em;\n  text-align: center;\n  font-size: 1.2em;\n}\n\n\n\n#btn-info[_ngcontent-%COMP%] {\n  border-radius: 6em;\n  color: #ffffff;\n  box-shadow: var(--signing-shadow);\n}\n\n#send-button[_ngcontent-%COMP%] {\n  width: 10em;\n  height: 3em;\n  font-weight: bolder;\n}\n\n#send-button[_ngcontent-%COMP%] {\n  width: 10em;\n  height: 3em;\n  font-weight: bolder;\n}\n\n.btn-info[_ngcontent-%COMP%] {\n  background-color: #0075ff !important;\n}\n\n#spinner-overlay-container[_ngcontent-%COMP%] {\n  position: fixed;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  background: var(--loading-container-background);\n  z-index: var(--loading-container-z-index);\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNpZ25pbmcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQSxnQ0FBZ0M7O0FBRWhDO0VBQ0UsYUFBYTtFQUNiLFlBQVk7RUFDWixXQUFXO0VBQ1gsWUFBWTtFQUNaLFlBQVk7RUFDWixjQUFjO0VBQ2QsY0FBYztFQUNkLG9CQUFvQjtFQUNwQixzQkFBc0I7RUFDdEIsaUNBQWlDO0FBQ25DOztBQUVBO0VBQ0UsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osVUFBVTtBQUNaOztBQUVBO0VBQ0UsK0JBQStCO0FBQ2pDOztBQUVBO0VBQ0UsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLFlBQVk7RUFDWixXQUFXO0VBQ1gsWUFBWTtFQUNaLFlBQVk7RUFDWixlQUFlO0VBQ2Ysc0NBQXNDO0VBQ3RDLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixpQ0FBaUM7RUFDakMsZ0JBQWdCO0FBQ2xCOztBQUVBLHlCQUF5Qjs7QUFFekI7RUFDRSx5QkFBeUI7RUFDekIsaUNBQWlDO0FBQ25DOztBQUVBO0VBQ0UsYUFBYTtFQUNiLHFCQUFxQjtFQUNyQiw4QkFBOEI7RUFDOUIsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQixXQUFXO0VBQ1gsYUFBYTtBQUNmOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtBQUN6Qjs7QUFFQTtFQUNFLFlBQVk7QUFDZDs7QUFFQTtFQUNFLFlBQVk7RUFDWixhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxVQUFVO0VBQ1YsYUFBYTtBQUNmOztBQUVBO0VBQ0UsbUNBQW1DO0FBQ3JDOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLCtCQUErQjtBQUNqQzs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osYUFBYTtBQUNmOztBQUVBO0VBQ0UsWUFBWTtFQUNaLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLFlBQVk7RUFDWixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsVUFBVTtFQUNWLGVBQWU7QUFDakI7O0FBRUE7O0VBRUUsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsVUFBVTtFQUNWLFlBQVk7RUFDWixhQUFhO0VBQ2IsaUNBQWlDO0VBQ2pDLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsb0JBQW9CO0FBQ3RCOztBQUVBO0VBQ0UsbUJBQW1CO0VBQ25CLGFBQWE7RUFDYixZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixhQUFhO0VBQ2IsWUFBWTtFQUNaLG1DQUFtQztBQUNyQzs7QUFFQTtFQUNFLHNCQUFzQixFQUFFLHFDQUFxQztBQUMvRDs7QUFFQSxrQkFBa0I7O0FBRWxCO0VBQ0UsV0FBVztFQUNYLHVCQUF1QjtFQUN2QixrQkFBa0I7RUFDbEIsZ0JBQWdCO0FBQ2xCOztBQUVBLHFCQUFxQjs7QUFFckI7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLGlDQUFpQztBQUNuQzs7QUFFQTtFQUNFLFdBQVc7RUFDWCxXQUFXO0VBQ1gsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsV0FBVztFQUNYLFdBQVc7RUFDWCxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxvQ0FBb0M7QUFDdEM7O0FBRUE7RUFDRSxlQUFlO0VBQ2YsTUFBTTtFQUNOLFNBQVM7RUFDVCxPQUFPO0VBQ1AsUUFBUTtFQUNSLCtDQUErQztFQUMvQyx5Q0FBeUM7QUFDM0MiLCJmaWxlIjoic2lnbmluZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI3NpZ25pbmctZXhwZXJpZW5jZS1hbGVydCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogfHwgU2lnbmluZyBib3gsIFByZXZpZXcgQm94ICovXG5cbiNzaWduaW5nLWJveCB7XG4gIG1hcmdpbjogMC41ZW07XG4gIHBhZGRpbmc6IDFlbTtcbiAgd2lkdGg6IDQwZW07XG4gIGhlaWdodDogMjBlbTtcbiAgcmVzaXplOiBub25lO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGJvcmRlci13aWR0aDogMC4wNWVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaWduaW5nLXNoYWRvdyk7XG59XG5cbiNjaGFyLWNvdW50LWRpc3BsYXkge1xuICB6LWluZGV4OiAxMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xZW07XG4gIHJpZ2h0OiAyZW07XG59XG5cbi5mb3JtLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0LWdyZXkpO1xufVxuXG4uZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuXG5tYXJrZG93biB7XG4gIG1hcmdpbjogMC41ZW07XG4gIHBhZGRpbmc6IDFlbTtcbiAgd2lkdGg6IDQwZW07XG4gIGhlaWdodDogMjBlbTtcbiAgcmVzaXplOiBub25lO1xuICBmb250OiAxZW0gQXJpYWw7XG4gIGJvcmRlcjogMC4wNWVtIHNvbGlkIHZhcigtLWxpZ2h0LWdyZXkpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGJveC1zaGFkb3c6IHZhcigtLXNpZ25pbmctc2hhZG93KTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLyogfHwgRm9ybWF0dGluZyBUb29scyAgKi9cblxuI29wdGlvbnMgPiAqIHtcbiAgbWFyZ2luOiAxLjRlbSAwLjVlbSAwLjhlbTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2lnbmluZy1zaGFkb3cpO1xufVxuXG4jZm9udC1zZWxlY3Rvci1kcm9wZG93biB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2lkdGg6IDEyZW07XG4gIGhlaWdodDogMi41ZW07XG59XG5cbiNmb250LXNlbGVjdG9yLWRyb3Bkb3duI
10227HNwYW46bm90KC5jYXJldCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuI2ZvbnQtc2VsZWN0b3ItZHJvcGRvd24gLmNhcmV0IHtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4uYnRuLWZvcm1hdCB7XG4gIHdpZHRoOiAyLjVlbTtcbiAgaGVpZ2h0OiAyLjVlbTtcbn1cblxuLmJ0bi1zZW5kIHtcbiAgd2lkdGg6IDZlbTtcbiAgaGVpZ2h0OiAyLjVlbTtcbn1cblxuLmJ0bi1zZW5kOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG59XG5cbi5kcm9wZG93bi1pdGVtIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZHJvcGRvd24taXRlbTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGhlaWdodDogMTJlbTtcbiAgei1pbmRleDogMjAwMDtcbn1cblxuI2ZpbGwtY29sb3ItaWNvbiB7XG4gIHdpZHRoOiAxLjVlbTtcbiAgbWFyZ2luOiAwIGF1dG8gMC4xZW0gYXV0bztcbn1cblxuI2ltYWdlLWljb24ge1xuICB3aWR0aDogMS43ZW07XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uaWNvbi13cmFwcGVyIHtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4jY29sb3ItcGlja2VyLWZvbnQsXG4jY29sb3ItcGlja2VyLWJhY2tncm91bmQge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMi4yZW07XG4gIGhlaWdodDogMi4yZW07XG4gIG1hcmdpbjogLTEuNTVlbSAwLjA1ZW0gIWltcG9ydGFudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4jZm9udC1jb2xvci10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiBsYXJnZTtcbn1cblxuLmR5bmFtaWMtY29sb3ItYmFyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMC40ZW07XG4gIG1hcmdpbjogMC4xZW0gMC4yZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuNGVtO1xufVxuXG4jaW1hZ2Utbm90aWZpY2F0aW9uLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGhlaWdodDogMS41ZW07XG4gIHdpZHRoOiAxLjVlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTAuNDM3NWVtO1xuICB0b3A6IC0wLjM3NWVtO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LWdyZXkpO1xufVxuXG4jaW1hZ2UtYnV0dG9uLXdyYXBwZXIge1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyAvKiBiYXNlZCBvZmYgb2YgYm9vdHN0cmFwIGJ0biBjbGFzcyAqL1xufVxuXG4vKiB8fCBUeXBvZ3JhcGh5ICovXG5cbi50aXRsZS1kaXYge1xuICBoZWlnaHQ6IDNlbTtcbiAgbWFyZ2luOiAwIDAuNWVtIDAgMC41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbn1cblxuLyogfHwgTWlzY2VsbGFuZW91cyAqL1xuXG4jYnRuLWluZm8ge1xuICBib3JkZXItcmFkaXVzOiA2ZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaWduaW5nLXNoYWRvdyk7XG59XG5cbiNzZW5kLWJ1dHRvbiB7XG4gIHdpZHRoOiAxMGVtO1xuICBoZWlnaHQ6IDNlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuI3NlbmQtYnV0dG9uIHtcbiAgd2lkdGg6IDEwZW07XG4gIGhlaWdodDogM2VtO1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4uYnRuLWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3NWZmICFpbXBvcnRhbnQ7XG59XG5cbiNzcGlubmVyLW92ZXJsYXktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWxvYWRpbmctY29udGFpbmVyLWJhY2tncm91bmQpO1xuICB6LWluZGV4OiB2YXIoLS1sb2FkaW5nLWNvbnRhaW5lci16LWluZGV4KTtcbn1cbiJdfQ== */"]
10228      });
10229      /***/
10230    },
10231
10232    /***/
10233    21912:
10234    /*!**********************************************************************!*\
10235      !*** ./src/app/pages/terms-of-service/terms-of-service.component.ts ***!
10236      \**********************************************************************/
10237
10238    /***/
10239    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10240      "use strict";
10241
10242      __webpack_require__.r(__webpack_exports__);
10243      /* harmony export */
10244
10245
10246      __webpack_require__.d(__webpack_exports__, {
10247        /* harmony export */
10248        "TermsOfServiceComponent": function TermsOfServiceComponent() {
10249          return (
10250            /* binding */
10251            _TermsOfServiceComponent
10252          );
10253        }
10254        /* harmony export */
10255
10256      });
10257      /* harmony import */
10258
10259
10260      var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
10261      /*! @angular/core */
10262      37716);
10263      /* harmony import */
10264
10265
10266      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
10267      /*! @angular/platform-browser */
10268      39075);
10269
10270      var _TermsOfServiceComponent = /*#__PURE__*/function () {
10271        function _TermsOfServiceComponent(title) {
10272          _classCallCheck(this, _TermsOfServiceComponent);
10273
10274          this.title = title;
10275        }
10276
10277        _createClass(_TermsOfServiceComponent, [{
10278          key: "ngOnInit",
10279          value: function ngOnInit() {
10280            this.title.setTitle('Terms of Service | Virtrolio');
10281          }
10282        }]);
10283
10284        return _TermsOfServiceComponent;
10285      }();
10286
10287      _TermsOfServiceComponent.ɵfac = function TermsOfServiceComponent_Factory(t) {
10288        return new (t || _TermsOfServiceComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title));
10289      };
10290
10291      _TermsOfServiceComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({
10292        type: _TermsOfServiceComponent,
10293        selectors: [["app-terms-of-service"]],
10294        decls: 137,
10295        vars: 0,
10296        consts: [[1, "container"], [1, "text-center", "mt-3", "mb-3"], ["role", "alert", 1, "alert", "alert-primary"], ["href", "https://firebase.google.com/terms/", "target", "_blank"], ["href", "../privacy-policy"], ["href", "mailto:[email protected]", "target", "_blank"]],
10297        template: function TermsOfServiceComponent_Template(rf, ctx) {
10298          if (rf & 1) {
10299            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
10300
10301            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "h1", 1);
10302
10303            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](2, "Terms of Service");
10304
10305            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10306
10307            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](3, "div", 2);
10308
10309            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](4, " Last updated: June 16, 2021 ");
10310
10311            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10312
10313            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "h3");
10314
10315            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](6, "SUMMARY");
10316
10317            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10318
10319            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "p");
10320
10321            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, " In short, you agree to abide by our code of conduct for safe, respectful, and common-sense behaviour. You understand that we will do everything in our power to address reported violations of the code or these Terms, including account termination at our discretion, but that the ultimate responsibility for a message's contents, including links to third-party sites, lies with the user who sent it. You agree not to reproduce or alter any of our intellectual property for unlicensed use, and where necessary, you agree to obtain parental consent to use our site. This summary is for convenience only; please read the terms below carefully. ");
10322
10323            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10324
10325            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](9, "h3");
10326
10327            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](10, "OVERVIEW");
10328
10329            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10330
10331            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](11, "p");
10332
10333            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](12, " This website is operated by Virtrolio. Throughout the site, the terms \u201Cwe\u201D, \u201Cus\u201D and \u201Cour\u201D refer to Virtrolio. Virtrolio offers this website, including all information, tools and services available from this site to you, the user, conditioned upon your acceptance of all terms, conditions, policies and notices stated here. ");
10334
10335            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10336
10337            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](13, "p");
10338
10339            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](14, " By visiting our site, you engage in our \u201CService\u201D and agree to be bound by the following terms and conditions (\u201CTerms of Service\u201D, \u201CTerms\u201D), including those additional terms and conditions and policies referenced herein and/
10339or available by hyperlink. These Terms of Service apply to all users of the site, including without limitation users who are browsers and/or contributors of content. ");
10340
10341            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10342
10343            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](15, "p");
10344
10345            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](16, " Please read these Terms of Service carefully before accessing or using our website. By accessing or using any part of the site, you agree to be bound by these Terms of Service and any other policies listed here. If you do not agree to all the terms and conditions of this agreement, then you may not access the website or use any services. If these Terms of Service are considered an offer, acceptance is expressly limited to these Terms of Service. ");
10346
10347            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10348
10349            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](17, "p");
10350
10351            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](18, " Virtrolio is a message sharing and viewing service that allows users to recreate in-person yearbook signings. In order to digitally emulate the essence of this act, certain data policies and terms have been enacted accordingly. ");
10352
10353            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10354
10355            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](19, "p");
10356
10357            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](20, " Any new features or tools which are added to the current website shall also be subject to the Terms of Service. You can review the most current version of the Terms of Service at any time on this page. We reserve the right to update, change, or replace any part of these Terms of Service by posting updates and/or changes to our website. It is your responsibility to check this page periodically for changes. Your continued use of or access to the website following the posting of any changes constitutes acceptance of those changes. ");
10358
10359            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10360
10361            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](21, "h3");
10362
10363            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](22, "SECTION 1 - GENERAL CONDITIONS");
10364
10365            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10366
10367            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](23, "p");
10368
10369            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](24, " We reserve the right to refuse service to anyone for any reason at any time. ");
10370
10371            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10372
10373            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](25, "p");
10374
10375            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](26, " You understand that your content (not including credit card information), may be transferred unencrypted and involve (a) transmissions over various networks; and (b) changes to conform and adapt to technical requirements of connecting networks or devices. Credit card information is always encrypted during transfer over networks. ");
10376
10377            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10378
10379            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](27, "p");
10380
10381            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](28, " You agree not to reproduce, duplicate, copy, sell, resell or exploit any portion of the Service, use of the Service, or access to the Service or any contact on the website through which the service is provided, without express written permission by us. ");
10382
10383            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10384
10385            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](29, "p");
10386
10387            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](30, " The headings used in this agreement are included for c
10387onvenience only and will not limit or otherwise affect these Terms. ");
10388
10389            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10390
10391            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](31, "h3");
10392
10393            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](32, "SECTION 2 - TERMINATION OF SERVICE");
10394
10395            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10396
10397            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](33, "p");
10398
10399            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](34, " A breach or violation of the conditions listed in these Terms or other relevant policies will result in a termination of your Services, including but not limited to: deletion of your account and all associated data (see more on our data policies in our Privacy Policy) and banning of your email address to prevent further account access or creation therein. ");
10400
10401            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10402
10403            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](35, "p");
10404
10405            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](36, " We may, at our own discretion, give you advance notice of account termination. Your account will not be reconsidered for reacceptance into our Service, except under specific circumstances to be established through individual written communication and at our sole discretion. ");
10406
10407            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10408
10409            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](37, "p");
10410
10411            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](38, " The obligations and liabilities of the parties incurred prior to the termination date shall survive the termination of this agreement for all purposes. ");
10412
10413            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10414
10415            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](39, "p");
10416
10417            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](40, " These Terms of Service are effective unless and until terminated by either you or us. You may terminate these Terms of Service at any time by notifying us that you no longer wish to use our Services, or when you cease using our site. ");
10418
10419            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10420
10421            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](41, "p");
10422
10423            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](42, " If in our sole judgment you fail, or we suspect that you have failed, to comply with any term or provision of these Terms of Service, we also may terminate this agreement at any time without notice and accordingly may deny you access to our Services (or any part thereof). ");
10424
10425            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10426
10427            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](43, "h3");
10428
10429            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](44, "SECTION 3 - MODIFICATIONS TO THE SERVICE");
10430
10431            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10432
10433            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](45, "p");
10434
10435            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](46, " We reserve the right at any time to modify or discontinue the Service (or any part or content thereof) without notice at any time. ");
10436
10437            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10438
10439            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](47, "p");
10440
10441            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](48, " Occasionally there may be information on our site or in the Service that contains typographical errors, inaccuracies or omissions. We reserve the right to correct any errors, inaccuracies or omissions, and to change or update information if any information in the Service is inaccurate at any time without prior notice. ");
10442
10443            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10444
10445            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](49, "p");
10446
10447            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](50, " We undertake no obligation to update, amend, or clarify information in the Service except as required by law. No specified update or refresh date applied in the Service should be taken to indicate that all information in the Service or on any related website has been modified or updated. ");
10448
10449            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10450
10451            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](51, "p");
10452
10453            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](52, " You agree that from time to time we may remove the service for indefinite periods of time or cancel the service at any time. In such a case, you will receive notification by email. However, notification for short periods of interruption to the service may only consist of a banner or page displayed on our website without an accompanying email. If service termination is deemed permanent or exceptional by cir
10453cumstance, appropriate measures will be put in place for you, the user, to be able to retrieve your data, though we make no promise as to the amount of time which this may take. ");
10454
10455            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10456
10457            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](53, "h3");
10458
10459            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](54, "SECTION 4 - THIRD-PARTY LINKS AND SERVICES");
10460
10461            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10462
10463            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](55, "p");
10464
10465            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](56, " The developers of Virtrolio have made use of third-party softwares and services in order to be able to provide our service to you. As such, by using our service you also agree to any relevant terms, policies, and practices which extend from those third-party services, including, but not limited to, those associated with ");
10466
10467            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](57, "a", 3);
10468
10469            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](58, "Google Firebase");
10470
10471            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10472
10473            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](59, " and its collection of anonymous data; and with third-party sign-in providers such as Google and their authentication services. We will enforce these Terms in accordance with any relevant third-party policies. ");
10474
10475            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10476
10477            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](60, "p");
10478
10479            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](61, " Furthermore, certain content available on our Service may include third-party material. Third-party links on this site may direct you to third-party websites that are not affiliated with us. We are not responsible for examining or evaluating the content or accuracy and we do not warrant and will not have any liability or responsibility for any third-party materials or websites, or for any other views, endorsements, materials, products, or services of third-parties. ");
10480
10481            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10482
10483            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](62, "p");
10484
10485            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](63, " While we support the embedding of images via third-party links within messages as well as the uploading and storage of images, we currently cannot guarantee that such images will display as intended, nor that the image will not be removed or otherwise made unavailable by the hosting provider. For the purposes of embedding images via third-party links, responsibility for selecting a third-party service and ensuring that an image displays as intended falls on the user; no recommendation or endorsement of any such service is made by Virtrolio. In addition, the user remains responsible for the contents of the image, and for obtaining the necessary rights or explicit permissions required to use the image regardless of whether it is directly uploaded to Virtrolio or to a third party. ");
10486
10487            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10488
10489            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](64, "p");
10490
10491            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](65, " We are not liable for any harm or damages related to the purchase or use of goods, services, resources, content, or any other transactions made with any third-party websites. Please carefully review the third-party's policies and practices and make sure you understand them before you engage in any transaction. Complaints, claims, concerns, or questions regarding third-party products should be directed to the third-party. ");
10492
10493            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10494
10495            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](66, "h3");
10496
10497            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](67, "SECTION 5 - CODE OF CONDUCT");
10498
10499            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10500
10501            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](68, "p");
10502
10503            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](69, " In addition to other prohibitions as set forth in the Terms of Service, you are prohibited from using the site or its content: (a) for any unlawful purpose; (b) to solicit others to perform or participate in any unlawful acts; (c) to violate any international, federal, provincial or state regulations, rules, laws, or local ordinances; (d) to infringe upon or violate our intellectual property rights or the intellectual property rights of others; (e) to harass, abuse, insult, harm, defame, slander, disparage, intimidate, or discriminate based on gender, sexual orientation, religion, ethnicity, race, age, national origin, or disability; (f) to submit false or misleading information; (g) to upload or transmit viruses or any other type of malicious code that will or may be used in any way that will affect the functionality or operation of the Service or of any related website, other websites, or the Internet; (h) to collect or track the personal information of others; (i) to spam, phish, farm, pretext, spider, crawl, or scrape; (j) for any obscene or immoral purpose; or (k) to interfere with or circumvent the security features of the Service or any related website, other websites, or the Internet. We reserve the right to terminate your use of the Service or any related website for violating any of the prohibited uses. ");
10504
10505            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10506
10507            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](70, "p");
10508
10509            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](71, " We may monitor, edit, and/or remove users (see SECTION 2) that we determine in our sole discretion as acting in a manner that is unlawful, offensive, threatening, libelous, defamatory, pornographic, obscene, or otherwise objectionable or violates any party\u2019s intellectual property or these Terms of Service. We may al
10509so take the same actions against specific user contributions. Law enforcement and third-party service providers, including Google, will be notified as necessary and access to your account will be revoked if you are found to be sharing content which does not conform with these Terms or this Code of Conduct. ");
10510
10511            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10512
10513            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](72, "p");
10514
10515            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](73, " You agree that your comments will not violate any right of any third-party, including copyright, trademark, privacy, personality or other personal or proprietary right. You further agree that your comments will not contain libelous or otherwise unlawful, abusive or obscene material, or contain any computer virus or other malware that could in any way affect the operation of the Service or any related website. ");
10516
10517            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10518
10519            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](74, "p");
10520
10521            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](75, " You are solely responsible for any inappropriate comments you make or data you send through our Service, even if it does not reach any particular user. We take no responsibility and assume no liability for any comments posted by you or any third-party. ");
10522
10523            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10524
10525            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](76, "h3");
10526
10527            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](77, "SECTION 6 - PERSONAL & DEVICE INFORMATION");
10528
10529            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10530
10531            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](78, "p");
10532
10533            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](79, " Your submission of personal information and device information through Virtrolio is governed by our ");
10534
10535            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](80, "a", 4);
10536
10537            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](81, "Privacy Policy.");
10538
10539            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10540
10541            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](82, " Your agreement to these Terms constitutes your agreement to the Privacy Policy. ");
10542
10543            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10544
10545            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](83, "h3");
10546
10547            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](84, "SECTION 7 - INDEMNIFICATION");
10548
10549            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10550
10551            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](85, "p");
10552
10553            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](86, " You agree to indemnify, defend and hold harmless Virtrolio and our parent, subsidiaries, affiliates, partners, officers, directors, agents, contractors, licensors, service providers, subcontractors, suppliers, interns and employees, harmless from any claim or demand, including reasonable attorneys\u2019 fees, made by any third-party due to or arising out of your breach of these Terms of Service or the documents they incorporate by reference, or your violation of any law or the rights of a third-party. ");
10554
10555            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10556
10557            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](87, "h3");
10558
10559            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](88, "SECTION 8 - DISCLAIMER OF WARRANTIES");
10560
10561            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10562
10563            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](89, "p");
10564
10565            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](90, " You expressly agree that your use of, or inability to use, the service is at your sole risk. The service and all products and services delivered to you through the service are (except as expressly stated by us) provided 'as is' and 'as available' for your use, without any representation, warranties or conditions of any kind, either express or implied, including, but not limited to, all implied warranties or conditions of merchantability, merchantable quality, fitness for a particular purpose, durability, title, and non-infringement. ");
10566
10567            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10568
10569            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](91, "p");
10570
10571            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](92, " We do not guarantee, represent or warrant that your use of our service will be uninterrupted, timely, secure or error-free, nor do we warrant that the results or information that may be obtained from the use of the service will be accurate or reliable. You agree that from time to time we may remove the service for indefinite periods of time or cancel the service at any time, without notice to you. ");
10572
10573            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10574
10575            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](93, "p");
10576
10577            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](94, " The Site is intended for individuals at least 18 years of age, or if you have parental consent, at least 15 years of age in Australia or 13 years of age in all other Authorized Jurisdictions (\u201CMinimum Age\u201D). You must meet these requirements in order to use a Virtrolio account and its services. If you have obtained parental consent, our Terms and policies are accepted by and will apply to your parent or guardian, and they are responsible for your activity on these services. ");
10578
10579            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10580
10581            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](95, "p");
10582
10583            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](96, " In no case shall Virtrolio, our directors, officers, employees, affiliates, agents, contractors, interns, suppliers, service providers or licensors be liable for any injury, loss, claim, or any direct, indirect, incidental, punitive, special, or consequential damages of any kind, including, without limitation lost profits, lost revenue, lost savings, loss of data, replacement costs, or any similar damages, whether based in contract, tort (including negligence), strict liability or otherwise, arising from your use of any of the Service or any products procured using the Service, or for any other claim related in any way to your use of the Service or any product, including, but not limited to, any errors or omissions in any content, or any loss or damage of any kind incurred as a result of the use of the Service or any content (or product) posted, transmitted, or otherwise made available via the Service or via the conduct or interactions of other users thereof, even if advised of their possibility. Because some states or jurisdictions do not allow the exclusion or the limitation of liability for consequential or incidental damages, in such states or jurisdictions, our liability shall be limited to the maximum extent permitted by law. ");
10584
10585            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10586
10587            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](97, "h3");
10588
10589            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](98, "SECTION 9 - INTELLECTUAL PROPERTY");
10590
10591            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10592
10593            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](99, "p");
10594
10595            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](100, " Notwithstanding the public availability of the source code associated with the operation of the Service, we assign no licence for its use. We retain ownership of all proprietary rights in the Service and all trade names, trade marks, service marks, and other intellectual property displayed by or associated with the operation of the Service. You are prohibited from remov
10595ing, defacing, obscuring, or otherwise altering any of our branding, logos, or legal notices. ");
10596
10597            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10598
10599            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](101, "h3");
10600
10601            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](102, "SECTION 10 - SEVERABILITY");
10602
10603            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10604
10605            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](103, "p");
10606
10607            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](104, " In the event that any provision of these Terms of Service is determined to be unlawful, void or unenforceable, such provision shall nonetheless be enforceable to the fullest extent permitted by applicable law, and the unenforceable portion shall be deemed to be severed from these Terms of Service, such determination shall not affect the validity and enforceability of any other remaining provisions. ");
10608
10609            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10610
10611            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](105, "h3");
10612
10613            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](106, "SECTION 11 - ENTIRE AGREEMENT");
10614
10615            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10616
10617            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](107, "p");
10618
10619            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](108, " The failure of us to immediately exercise or enforce any right or provision of these Terms of Service shall not constitute a waiver of such right or provision (i.e. for the future). ");
10620
10621            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10622
10623            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](109, "p");
10624
10625            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](110, " These Terms of Service and any policies or operating rules posted by us on this site or in respect to The Service constitutes the entire agreement and understanding between you and us and govern your use of the Service, superseding any prior or contemporaneous agreements, communications and proposals, whether oral or written, between you and us (including, but not limited to, any prior versions of the Terms of Service). ");
10626
10627            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10628
10629            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](111, "p");
10630
10631            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](112, " Any ambiguities in the interpretation of these Terms of Service shall not be construed against the drafting party. ");
10632
10633            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10634
10635            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](113, "p");
10636
10637            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](114, " The obligations and liabilities of the parties incurred prior to the termination date shall survive the termination of this agreement for all purposes. ");
10638
10639            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10640
10641            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](115, "p");
10642
10643            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](116, " These Terms of Service are effective unless and until terminated by either you or us. You may terminate these Terms of Service at any time by notifying us that you no longer wish to use our Service, or when you cease using our Service by deleting your account. ");
10644
10645            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10646
10647            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](117, "p");
10648
10649            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](118, " If in our sole judgment you fail, or we suspect that you have failed, to comply with any term or provision of these Terms of Service, we also may terminate this agreement at any time without notice and you will remain liable for all amounts due up to and including the date of termination; and/or accordingly may deny you access to our Service (or any part thereof). ");
10650
10651            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10652
10653            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](119, "h3");
10654
10655            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](120, "SECTION 12 - GOVERNING LAW");
10656
10657            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10658
10659            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](121, "p");
10660
10661            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](122, " These Terms of Service and any separate agreements whereby we provide you Services shall be, if reasonable, governed by and construed in accordance with the laws of the Province of Ontario, to be resolved 
10661in the federal or provincial courts of Peel Region, Ontario, Canada. You and we agree to personal jurisdiction in those courts. ");
10662
10663            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10664
10665            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](123, "h3");
10666
10667            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](124, "SECTION 13 - CHANGES TO THE TERMS OF SERVICE");
10668
10669            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10670
10671            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](125, "p");
10672
10673            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](126, " You can review the most current version of the Terms of Service at any time at this page. ");
10674
10675            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10676
10677            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](127, "p");
10678
10679            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](128, " We reserve the right, at our sole discretion, to update, change, or replace any part of these Terms of Service by posting updates and changes to our website. It is your responsibility to check our website periodically for changes. Your continued use of or access to our website or the Service following the posting of any changes to these Terms of Service constitutes acceptance of those changes. ");
10680
10681            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10682
10683            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](129, "h3");
10684
10685            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](130, "SECTION 14 - CONTACT INFORMATION");
10686
10687            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10688
10689            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](131, "p");
10690
10691            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](132, " Questions about the Terms of Service should be sent to us at ");
10692
10693            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](133, "a", 5);
10694
10695            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](134, "[email protected]");
10696
10697            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10698
10699            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](135, ". ");
10700
10701            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10702
10703            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](136, "br");
10704
10705            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
10706          }
10707        },
10708        styles: ["\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJ0ZXJtcy1vZi1zZXJ2aWNlLmNvbXBvbmVudC5jc3MifQ== */"]
10709      });
10710      /***/
10711    },
10712
10713    /***/
10714    1641:
10715    /*!************************************************************************!*\
10716      !*** ./src/app/pages/viewing/message-modal/message-modal.component.ts ***!
10717      \************************************************************************/
10718
10719    /***/
10720    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10721      "use strict";
10722
10723      __webpack_require__.r(__webpack_exports__);
10724      /* harmony export */
10725
10726
10727      __webpack_require__.d(__webpack_exports__, {
10728        /* harmony export */
10729        "MessageModalComponent": function MessageModalComponent() {
10730          return (
10731            /* binding */
10732            _MessageModalComponent
10733          );
10734        }
10735        /* harmony export */
10736
10737      });
10738      /* harmony import */
10739
10740
10741      var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
10742      /*! @angular/core */
10743      37716);
10744      /* harmony import */
10745
10746
10747      var _core_viewing_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
10748      /*! ../../../core/viewing.service */
10749      91225);
10750      /* harmony import */
10751
10752
10753      var ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
10754      /*! ngx-bootstrap/modal */
10755      63301);
10756      /* harmony import */
10757
10758
10759      var _core_msg_io_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
10760      /*! ../../../core/msg-io.service */
10761      84468);
10762      /* harmony import */
10763
10764
10765      var _angular_router__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
10766      /*! @angular/router */
10767      39895);
10768      /* harmony import */
10769
10770
10771      var _angular_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
10772      /*! @angular/common */
10773      38583);
10774      /* harmony import */
10775
10776
10777      var ngx_markdown__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
10778      /*! ngx-markdown */
10779      76715);
10780      /* harmony import */
10781
10782
10783      var _shared_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
10784      /*! ../../../shared/components/inline-images/inline-images.component */
10785      72321);
10786
10787      function MessageModalComponent_app_inline_images_25_Template(rf, ctx) {
10788        if (rf & 1) {
10789          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](0, "app-inline-images", 17);
10790        }
10791
10792        if (rf & 2) {
10793          var ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵnextContext"]();
10794
10795          _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("images", ctx_r0.viewService.currentMessageModal.images);
10796        }
10797      }
10798
10799      var _c0 = function _c0() {
10800        return ["/viewing"];
10801      };
10802
10803      var _c1 = function _c1(a0) {
10804        return {
10805          messageId: a0,
10806          showBookmarkAlert: true
10807        };
10808      };
10809
10810      var _c2 = function _c2(a0, a1, a2) {
10811        return {
10812          background: a0,
10813          color: a1,
10814          "font-family": a2
10815        };
10816      };
10817
10818      var _MessageModalComponent = /*#__PURE__*/function () {
10819        function _MessageModalComponent(viewService, modalService, msgIOService) {
10820          _classCallCheck(this, _MessageModalComponent);
10821
10822          this.viewService = viewService;
10823          this.modalService = modalService;
10824          this.msgIOService = msgIOService;
10825        }
10826
10827        _createClass(_MessageModalComponent, [{
10828          key: "ngOnInit",
10829          value: function ngOnInit() {}
10830        }]);
10831
10832        return _MessageModalComponent;
10833      }();
10834
10835      _MessageModalComponent.ɵfac = function MessageModalComponent_Factory(t) {
10836        return new (t || _MessageModalComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_core_viewing_service__WEBPACK_IMPORTED_MODULE_0__.ViewingService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_1__.BsModalService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_core_msg_io_service__WEBPACK_IMPORTED_MODULE_2__.MsgIoService));
10837      };
10838
10839      _MessageModalComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineComponent"]({
10840        type: _MessageModalComponent,
10841        selectors: [["app-message-modal"]],
10842        decls: 26,
10843        vars: 15,
10844        consts: [[1, "card", "shadow"], [1, "msg-header"], [1, "msg-header-group"], [1, "header-table"], [1, "profile-pic-container-small", "mr-2"], ["alt", "profile-pic", 1, "profile-pic", 3, "src"], [1, "msg-header-text"], [1, "msg-header-date"], [1, "card-header-group"], ["target", "_blank", 3, "routerLink", "queryParams"], ["type", "button", 1, "btn", "card-button", 3, "click"], ["alt", "bookmark", "src", "../../../../assets/images/icons/bookmark-black.svg", 1, "card-icon"], ["type", "button", 1, "btn", 3, "click"], ["alt", "close", "src", "../../../../assets/images/icons/exit.svg", 1, "card-icon"], [1, "card-body", "message-card", "message", 3, "ngStyle"], ["emoji", "", 3, "data"], [3, "images", 4, "ngIf"], [3, "images"]],
10845        template: function MessageModalComponent_Template(rf, ctx) {
10846          if (rf & 1) {
10847            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "div", 0);
10848
10849            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](1, "div", 1);
10850
10851            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](2, "div", 2);
10852
10853            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](3, "table", 3);
10854
10855            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](4, "tr");
10856
10857            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](5, "td");
10858
10859            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](6, "span", 4);
10860
10861            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](7, "img", 5);
10862
10863            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
10864
10865            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
10866
10867            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](8, "td");
10868
10869            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](9, "table");
10870
10871            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](10, "tr", 6);
10872
10873            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](11);
10874
10875            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
10876
10877            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](12, "tr", 7);
10878
10879            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](13);
10880
10881            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
10882
10883            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
10884
10885            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
10886
10887            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
10888
10889            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
10890
10891            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
10892
10893            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](14, "div", 8);
10894
10895            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](15, "table", 3);
10896
10897            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](16, "tr");
10898
10899            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](17, "td");
10900
10901            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](18, "a", 9);
10902
10903            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](19, "button", 10);
10904
10905            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function MessageModalComponent_Template_button_click_19_listener() {
10906              return ctx.viewService.bookmarkMessage(ctx.viewService.currentMessageModal.id);
10907            });
10908
10909            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](20, "img", 11);
10910
10911            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
10912
10913            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
10914
10915            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](21, "button", 12);
10916
10917            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function MessageModalComponent_Template_button_click_21_listener() {
10918              return ctx.modalService.hide();
10919            });
10920
10921            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](22, "img", 13);
10922
10923            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
10924
10925            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
10926
10927            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
10928
10929            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
10930
10931            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
10932
10933            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
10934
10935            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](23, "div", 14);
10936
10937            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](24, "markdown", 15);
10938
10939            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](25, MessageModalComponent_app_inline_images_25_Template, 1, 1, "app-inline-images", 16);
10940
10941            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
10942
10943            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
10944          }
10945
10946          if (rf & 2) {
10947            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](7);
10948
10949            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpropertyInterpolate"]("src", ctx.viewService.currentMessageModal.fromPic, _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsanitizeUrl"]);
10950
10951            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](4);
10952
10953            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtextInterpolate1"](" ", ctx.viewService.currentMessageModal.fromName, " ");
10954
10955            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](2);
10956
10957            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtextInterpolate1"](" ", ctx.viewService.timeSince(ctx.viewService.n
10957owMillis, ctx.viewService.currentMessageModal.timestamp.toMillis(), ctx.viewService.currentMessageModal.timestamp.toDate().toDateString()), " ");
10958
10959            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](5);
10960
10961            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("routerLink", _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpureFunction0"](8, _c0))("queryParams", _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpureFunction1"](9, _c1, ctx.viewService.currentMessageModal.id));
10962
10963            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](5);
10964
10965            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpureFunction3"](11, _c2, ctx.viewService.currentMessageModal.backColor, ctx.viewService.currentMessageModal.fontColor, ctx.viewService.fonts[ctx.viewService.currentMessageModal.fontFamily].fontFamily + "," + ctx.viewService.fonts[ctx.viewService.currentMessageModal.fontFamily].backupFont));
10966
10967            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](1);
10968
10969            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpropertyInterpolate"]("data", ctx.viewService.decodeHtml(ctx.viewService.currentMessageModal.contents));
10970
10971            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](1);
10972
10973            _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngIf", ctx.viewService.currentMessageModal.images);
10974          }
10975        },
10976        directives: [_angular_router__WEBPACK_IMPORTED_MODULE_5__.RouterLinkWithHref, _angular_common__WEBPACK_IMPORTED_MODULE_6__.NgStyle, ngx_markdown__WEBPACK_IMPORTED_MODULE_7__.MarkdownComponent, _angular_common__WEBPACK_IMPORTED_MODULE_6__.NgIf, _shared_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_3__.InlineImagesComponent],
10977        styles: [".card[_ngcontent-%COMP%] {\n  width: auto;\n  height: 100%;\n}\n.message-card[_ngcontent-%COMP%] {\n  background-color: var(--light-grey);\n  width: 100%;\n  word-break: break-word;\n  max-height: 30em;\n  overflow-y: auto;\n}\n.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%] {\n  overflow-wrap: break-word;\n}\n\n.msg-footer-img[_ngcontent-%COMP%] {\n  max-height: 20em;\n  transition: all linear 0.2s;\n}\n.msg-footer[_ngcontent-%COMP%] {\n  justify-content: center;\n}\n.msg-footer-img-overlay[_ngcontent-%COMP%] {\n  background-color: rgba(0, 0, 0, 0.5);\n  height: 100%;\n  width: 100%;\n  z-index: 10;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  position: absolute;\n  opacity: 0;\n  transition: all linear 0.2s;\n}\n.msg-footer-img-overlay[_ngcontent-%COMP%]:hover {\n  opacity: 100%;\n}\n#external-link-icon[_ngcontent-%COMP%] {\n  height: 33%;\n}\n\n.page[_ngcontent-%COMP%] {\n  background-color: var(--accent);\n  box-shadow: 0 0.15em 0.25em 0.05em rgba(0, 0, 0, 0.175);\n  color: white;\n  height: 70vh;\n  padding: 3em 6em 3em 6em;\n\n  overflow-y: auto;\n}\n\n.msg-header[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: row;\n  justify-content: space-between;\n  line-height: 1em;\n  padding: 0.5em 0.5em 0.5em 1em;\n}\n.msg-header-group[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: row;\n}\n.msg-header-text[_ngcontent-%COMP%] {\n  font-weight: bold;\n  font-size: 0.9em;\n  margin: 0.2em 0 0 0.5em;\n  max-width: 10em;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.msg-header-date[_ngcontent-%COMP%] {\n  font-size: 0.7em;\n  margin-left: 0.5em;\n}\n.profile-pic-container-small[_ngcontent-%COMP%] {\n  background: rgba(255, 255, 255, 0);\n  height: 1.7em;\n  width: 1.7em;\n  border-radius: 100%;\n  display: flex;\n}\n.card-icon[_ngcontent-%COMP%] {\n  width: 1em;\n  height: 1em;\n}\n\n.btn[_ngcontent-%COMP%]:focus, .btn[_ngcontent-%COMP%]:active {\n  outline: none !important;\n  box-shadow: none !important;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar {\n  width: 0.2em;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n  opacity: 0;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n  background: var(--scrollbar-thumb);\n  opacity: 0.1;\n  border-radius: 1em;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lc3NhZ2UtbW9kYWwuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7RUFDRSxXQUFXO0VBQ1gsWUFBWTtBQUNkO0FBRUE7RUFDRSxtQ0FBbUM7RUFDbkMsV0FBVztFQUNYLHNCQUFzQjtFQUN0QixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0FBQ2xCO0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7QUFFQSxtQkFBbUI7QUFFbkI7RUFDRSxnQkFBZ0I7RUFDaEIsMkJBQTJCO0FBQzdCO0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7QUFFQTtFQUNFLG9DQUFvQztFQUNwQyxZQUFZO0VBQ1osV0FBVztFQUNYLFdBQVc7RUFDWCxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLDJCQUEyQjtBQUM3QjtBQUVBO0VBQ0UsYUFBYTtBQUNmO0FBRUE7RUFDRSxXQUFXO0FBQ2I7QUFFQSwwQkFBMEI7QUFDMUI7RUFDRSwrQkFBK0I7RUFDL0IsdURBQXVEO0VBQ3ZELFlBQVk7RUFDWixZQUFZO0VBQ1osd0JBQXdCOztFQUV4QixnQkFBZ0I7QUFDbEI7QUFFQSxtQkFBbUI7QUFDbkI7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLDhCQUE4QjtFQUM5QixnQkFBZ0I7RUFDaEIsOEJBQThCO0FBQ2hDO0FBRUE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0FBQ3JCO0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLHVC
10977QUF1QjtFQUN2QixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtFQUN2QixtQkFBbUI7QUFDckI7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7QUFFQTtFQUNFLGtDQUFrQztFQUNsQyxhQUFhO0VBQ2IsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixhQUFhO0FBQ2Y7QUFFQTtFQUNFLFVBQVU7RUFDVixXQUFXO0FBQ2I7QUFFQSxrRkFBa0Y7QUFDbEY7O0VBRUUsd0JBQXdCO0VBQ3hCLDJCQUEyQjtBQUM3QjtBQUVBLFVBQVU7QUFDVjtFQUNFLFlBQVk7QUFDZDtBQUVBLFVBQVU7QUFDVjtFQUNFLFVBQVU7QUFDWjtBQUVBLFdBQVc7QUFDWDtFQUNFLGtDQUFrQztFQUNsQyxZQUFZO0VBQ1osa0JBQWtCO0FBQ3BCIiwiZmlsZSI6Im1lc3NhZ2UtbW9kYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIE1lc3NhZ2UgQ2FyZCAqL1xuLmNhcmQge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubWVzc2FnZS1jYXJkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG4gIHdpZHRoOiAxMDAlO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBtYXgtaGVpZ2h0OiAzMGVtO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGFibGUgdGQge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuXG4vKiBNZXNzYWdlIGltYWdlcyAqL1xuXG4ubXNnLWZvb3Rlci1pbWcge1xuICBtYXgtaGVpZ2h0OiAyMGVtO1xuICB0cmFuc2l0aW9uOiBhbGwgbGluZWFyIDAuMnM7XG59XG5cbi5tc2ctZm9vdGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5tc2ctZm9vdGVyLWltZy1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIGxpbmVhciAwLjJzO1xufVxuXG4ubXNnLWZvb3Rlci1pbWctb3ZlcmxheTpob3ZlciB7XG4gIG9wYWNpdHk6IDEwMCU7XG59XG5cbiNleHRlcm5hbC1saW5rLWljb24ge1xuICBoZWlnaHQ6IDMzJTtcbn1cblxuLyogTWVzc2FnZSBDYXJvdXNlbCBQYWdlICovXG4ucGFnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIGJveC1zaGFkb3c6IDAgMC4xNWVtIDAuMjVlbSAwLjA1ZW0gcmdiYSgwLCAwLCAwLCAwLjE3NSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgaGVpZ2h0OiA3MHZoO1xuICBwYWRkaW5nOiAzZW0gNmVtIDNlbSA2ZW07XG5cbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLyogTWVzc2FnZSBIZWFkZXIgKi9cbi5tc2ctaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBwYWRkaW5nOiAwLjVlbSAwLjVlbSAwLjVlbSAxZW07XG59XG5cbi5tc2ctaGVhZGVyLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLm1zZy1oZWFkZXItdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuOWVtO1xuICBtYXJnaW46IDAuMmVtIDAgMCAwLjVlbTtcbiAgbWF4LXdpZHRoOiAxMGVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1zZy1oZWFkZXItZGF0ZSB7XG4gIGZvbnQtc2l6ZTogMC43ZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbn1cblxuLnByb2ZpbGUtcGljLWNvbnRhaW5lci1zbWFsbCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIGhlaWdodDogMS43ZW07XG4gIHdpZHRoOiAxLjdlbTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmNhcmQtaWNvbiB7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xufVxuXG4vKiBSZW1vdmUgdGhlIGJsdWUgb3V0bGluZSBhcm91bmQgdGhlIGJ1dHRvbiBvbiB0aGUgaGVhZGVycyB3aGVuIHRoZXkncmUgY2xpY2tlZCAqL1xuLmJ0bjpmb2N1cyxcbi5idG46YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIHdpZHRoICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDAuMmVtO1xufVxuXG4vKiBUcmFjayAqL1xuOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8qIEhhbmRsZSAqL1xuOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXNjcm9sbGJhci10aHVtYik7XG4gIG9wYWNpdHk6IDAuMTtcbiAgYm9yZGVyLXJhZGl1czogMWVtO1xufVxuIl19 */"]
10978      });
10979      /***/
10980    },
10981
10982    /***/
10983    46438:
10984    /*!*******************************************************************************!*\
10985      !*** ./src/app/pages/viewing/messages/image-footer/image-footer.component.ts ***!
10986      \*******************************************************************************/
10987
10988    /***/
10989    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10990      "use strict";
10991
10992      __webpack_require__.r(__webpack_exports__);
10993      /* harmony export */
10994
10995
10996      __webpack_require__.d(__webpack_exports__, {
10997        /* harmony export */
10998        "ImageFooterComponent": function ImageFooterComponent() {
10999          return (
11000            /* binding */
11001            _ImageFooterComponent
11002          );
11003        }
11004        /* harmony export */
11005
11006      });
11007      /* harmony import */
11008
11009
11010      var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
11011      /*! @angular/core */
11012      37716);
11013      /* harmony import */
11014
11015
11016      var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
11017      /*! @angular/common */
11018      38583);
11019      /* harmony import */
11020
11021
11022      var _angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
11023      /*! @angular/fire/storage */
11024      68274);
11025
11026      function ImageFooterComponent_a_1_div_4_Template(rf, ctx) {
11027        if (rf & 1) {
11028          var _r6 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetCurrentView"]();
11029
11030          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 7);
11031
11032          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("click", function ImageFooterComponent_a_1_div_4_Template_div_click_0_listener() {
11033            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵrestoreView"](_r6);
11034
11035            var ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"](2);
11036
11037            return ctx_r5.popupMessage.emit();
11038          });
11039
11040          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "span");
11041
11042          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](2);
11043
11044          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
11045
11046          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
11047        }
11048
11049        if (rf & 2) {
11050          var ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"](2);
11051
11052          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](2);
11053
11054          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtextInterpolate1"]("+", ctx_r2.imageList.length - 3, "");
11055        }
11056      }
11057
11058      function ImageFooterComponent_a_1_ng_template_5_Template(rf, ctx) {
11059        if (rf & 1) {
11060          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "a", 8);
11061
11062          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipe"](1, "getDownloadURL");
11063
11064          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](2, "img", 9);
11065
11066          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
11067        }
11068
11069        if (rf & 2) {
11070          var image_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"]().$implicit;
11071
11072          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("href", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipeBind1"](1, 1, image_r1), _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵsanitizeUrl"]);
11073        }
11074      }
11075
11076      function ImageFooterComponent_a_1_Template(rf, ctx) {
11077        if (rf & 1) {
11078          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "a", 2);
11079
11080          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](1, "img", 3);
11081
11082          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipe"](2, "getDownloadURL");
11083
11084          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](3, "div", 4);
11085
11086          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplate"](4, ImageFooterComponent_a_1_div_4_Template, 3, 1, "div", 5);
11087
11088          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplate"](5, ImageFooterComponent_a_1_ng_template_5_Template, 3, 3, "ng-template", null, 6, _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplateRefExtractor"]);
11089
11090          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
11091
11092          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
11093        }
11094
11095        if (rf & 2) {
11096          var image_r1 = ctx.$implicit;
11097
11098          var _r3 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵreference"](6);
11099
11100          var ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"]();
11101
11102          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](1);
11103
11104          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("src", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipeBind1"](2, 3, image_r1), _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵsanitizeUrl"]);
11105
11106          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](3);
11107
11108          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("ngIf", ctx_r0.imageList.indexOf(image_r1) === 2 && ctx_r0.imageList.length > 3)("ngIfElse", _r3);
11109        }
11110      }
11111
11112      var _c0 = function _c0(a0) {
11113        return {
11114          background: a0
11115        };
11116      };
11117
11118      var _ImageFooterComponent = /*#__PURE__*/function () {
11119        function _ImageFooterComponent() {
11120          _classCallCheck(this, _ImageFooterComponent);
11121
11122          this.popupMessage = new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();
11123        }
11124
11125        _createClass(_ImageFooterComponent, [{
11126          key: "ngOnInit",
11127          value: function ngOnInit() {}
11128        }]);
11129
11130        return _ImageFooterComponent;
11131      }();
11132
11133      _ImageFooterComponent.ɵfac = function ImageFooterComponent_Factory(t) {
11134        return new (t || _ImageFooterComponent)();
11135      };
11136
11137      _ImageFooterComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({
11138        type: _ImageFooterComponent,
11139        selectors: [["app-image-footer"]],
11140        inputs: {
11141          backColor: "backColor",
11142          imageList: "imageList"
11143        },
11144        outputs: {
11145          popupMessage: "popupMessage"
11146        },
11147        decls: 2,
11148        vars: 4,
11149        consts: [[1, "d-flex", "p-2", "msg-footer", 3, "ngStyle"], ["class", "col p-0 d-flex justify-content-center", 4, "ngFor", "ngForOf"], [1, "col", "p-0", "d-flex", "justify-content-center"], ["alt", "Virtrolio Message image", 1, "msg-footer-img", 3, "src"], [1, "msg-footer-img-overlay"], ["class", "d-flex justify-content-center align-items-center", "id", "extra-image-counter", 3, "click", 4, "ngIf", "ngIfElse"], ["externalLink", ""], ["id", "extra-image-counter", 1, "d-flex", "justify-content-center", "align-items-center", 3, "click"], ["target", "_blank", 1, "h-100", "w-100", "d-flex", "justify-content-center", "align-items-center", 3, "href"], ["src", "../../../../../assets/images/icons/external-link.svg", "alt", "Virtrolio Message image", 1, "external-link-icon"]],
11150        template: function ImageFooterComponent_Template(rf, ctx) {
11151          if (rf & 1) {
11152            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
11153
11154            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplate"](1, ImageFooterComponent_a_1_Template, 7, 5, "a", 1);
11155
11156            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
11157          }
11158
11159          if (rf & 2) {
11160            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpureFunction1"](2, _c0, ctx.backColor));
11161
11162            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](1);
11163
11164            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("ngForOf", ctx.imageList.slice(0, 3));
11165          }
11166        },
11167        directives: [_angular_common__WEBPACK_IMPORTED_MODULE_1__.NgStyle, _angular_common__WEBPACK_IMPORTED_MODULE_1__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_1__.NgIf],
11168        pipes: [_angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__.GetDownloadURLPipe],
11169        styles: [".msg-footer[_ngcontent-%COMP%] {\n  height: 7em;\n}\n\n.msg-footer-img[_ngcontent-%COMP%] {\n  width: 100%;\n  -o-object-fit: cover;\n     object-fit: cover;\n  transition: all linear 0.2s;\n}\n\n.msg-footer-img-overlay[_ngcontent-%COMP%] {\n  background-color: rgba(0, 0, 0, 0.5);\n  height: 100%;\n  width: 100%;\n  z-index: 10;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  position: absolute;\n  opacity: 0;\n  transition: all linear 0.2s;\n}\n\n.msg-footer-img-overlay[_ngcontent-%COMP%]:hover {\n  opacity: 100%;\n}\n\n.external-link-icon[_ngcontent-%COMP%] {\n  height: 2em;\n}\n\n#extra-image-counter[_ngcontent-%COMP%] {\n  width: 100%;\n  height: 100%;\n  cursor: pointer;\n}\n\n#extra-image-counter[_ngcontent-%COMP%]    > span[_ngcontent-%COMP%] {\n  font-size: 2em;\n  color: white;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImltYWdlLWZvb3Rlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlCQUF5Qjs7QUFFekI7RUFDRSxXQUFXO0FBQ2I7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsb
111690JBQWlCO0tBQWpCLGlCQUFpQjtFQUNqQiwyQkFBMkI7QUFDN0I7O0FBRUE7RUFDRSxvQ0FBb0M7RUFDcEMsWUFBWTtFQUNaLFdBQVc7RUFDWCxXQUFXO0VBQ1gsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsa0JBQWtCO0VBQ2xCLFVBQVU7RUFDViwyQkFBMkI7QUFDN0I7O0FBRUE7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxXQUFXO0FBQ2I7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsWUFBWTtFQUNaLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsWUFBWTtBQUNkIiwiZmlsZSI6ImltYWdlLWZvb3Rlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogTWVzc2FnZSBpbWFnZSBmb290ZXIgKi9cblxuLm1zZy1mb290ZXIge1xuICBoZWlnaHQ6IDdlbTtcbn1cblxuLm1zZy1mb290ZXItaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB0cmFuc2l0aW9uOiBhbGwgbGluZWFyIDAuMnM7XG59XG5cbi5tc2ctZm9vdGVyLWltZy1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIGxpbmVhciAwLjJzO1xufVxuXG4ubXNnLWZvb3Rlci1pbWctb3ZlcmxheTpob3ZlciB7XG4gIG9wYWNpdHk6IDEwMCU7XG59XG5cbi5leHRlcm5hbC1saW5rLWljb24ge1xuICBoZWlnaHQ6IDJlbTtcbn1cblxuI2V4dHJhLWltYWdlLWNvdW50ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbiNleHRyYS1pbWFnZS1jb3VudGVyID4gc3BhbiB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBjb2xvcjogd2hpdGU7XG59XG4iXX0= */"]
11170      });
11171      /***/
11172    },
11173
11174    /***/
11175    2360:
11176    /*!**************************************************************!*\
11177      !*** ./src/app/pages/viewing/messages/messages.component.ts ***!
11178      \**************************************************************/
11179
11180    /***/
11181    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
11182      "use strict";
11183
11184      __webpack_require__.r(__webpack_exports__);
11185      /* harmony export */
11186
11187
11188      __webpack_require__.d(__webpack_exports__, {
11189        /* harmony export */
11190        "MessagesComponent": function MessagesComponent() {
11191          return (
11192            /* binding */
11193            _MessagesComponent
11194          );
11195        }
11196        /* harmony export */
11197
11198      });
11199      /* harmony import */
11200
11201
11202      var _message_modal_message_modal_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
11203      /*! ../message-modal/message-modal.component */
11204      1641);
11205      /* harmony import */
11206
11207
11208      var _angular_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
11209      /*! @angular/core */
11210      37716);
11211      /* harmony import */
11212
11213
11214      var _core_viewing_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
11215      /*! ../../../core/viewing.service */
11216      91225);
11217      /* harmony import */
11218
11219
11220      var _core_auth_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
11221      /*! ../../../core/auth.service */
11222      87341);
11223      /* harmony import */
11224
11225
11226      var _angular_router__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(
11227      /*! @angular/router */
11228      39895);
11229      /* harmony import */
11230
11231
11232      var _angular_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(
11233      /*! @angular/common */
11234      38583);
11235      /* harmony import */
11236
11237
11238      var ngx_toastr__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(
11239      /*! ngx-toastr */
11240      49344);
11241      /* harmony import */
11242
11243
11244      var ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
11245      /*! ngx-bootstrap/modal */
11246      63301);
11247      /* harmony import */
11248
11249
11250      var _core_msg_io_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
11251      /*! ../../../core/msg-io.service */
11252      84468);
11253      /* harmony import */
11254
11255
11256      var ngx_markdown__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(
11257      /*! ngx-markdown */
11258      76715);
11259      /* harmony import */
11260
11261
11262      var _image_footer_image_footer_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
11263      /*! ./image-footer/image-footer.component */
11264      46438);
11265      /* harmony import */
11266
11267
11268      var _shared_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
11269      /*! ../../../shared/components/inline-images/inline-images.component */
11270      72321);
11271
11272      function MessagesComponent_div_0_Template(rf, ctx) {
11273        if (rf & 1) {
11274          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 2);
11275
11276          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](1, "div", 3);
11277
11278          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11279        }
11280      }
11281
11282      function MessagesComponent_ng_template_1_div_0_Template(rf, ctx) {
11283        if (rf & 1) {
11284          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 2);
11285
11286          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](1, "div", 16);
11287
11288          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](2, "img", 17);
11289
11290          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](3, "h1", 18);
11291
11292          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](4, "No messages yet");
11293
11294          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11295
11296          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](5, "p", 19);
11297
11298          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](6, " Go to ");
11299
11300          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](7, "a", 20);
11301
11302          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](8, "your virtrolio");
11303
11304          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11305
11306          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](9, " and generate a Sharing Link to send to your friends! ");
11307
11308          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11309
11310          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11311
11312          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11313        }
11314      }
11315
11316      function MessagesComponent_ng_template_1_ng_template_1_button_2_Template(rf, ctx) {
11317        if (rf & 1) {
11318          var _r11 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵgetCurrentView"]();
11319
11320          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "button", 26);
11321
11322          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_button_2_Template_button_click_0_listener() {
11323            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r11);
11324
11325            var ctx_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](3);
11326
11327            return ctx_r10.toggleViewStyle();
11328          });
11329
11330          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](1, " Switch to Booklet ");
11331
11332          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11333        }
11334      }
11335
11336      function MessagesComponent_ng_template_1_ng_template_1_button_3_Template(rf, ctx) {
11337        if (rf & 1) {
11338          var _r13 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵgetCurrentView"]();
11339
11340          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "button", 26);
11341
11342          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_button_3_Template_button_click_0_listener() {
11343            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r13);
11344
11345            var ctx_r12 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](3);
11346
11347            return ctx_r12.toggleViewStyle();
11348          });
11349
11350          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](1, " Switch to Cards ");
11351
11352          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11353        }
11354      }
11355
11356      function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_app_image_footer_27_Template(rf, ctx) {
11357        if (rf & 1) {
11358          var _r19 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵgetCurrentView"]();
11359
11360          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "app-image-footer", 47);
11361
11362          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("popupMessage", function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_app_image_footer_27_Template_app_image_footer_popupMessage_0_listener() {
11363            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r19);
11364
11365            var msg_r15 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"]().$implicit;
11366
11367            var ctx_r17 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4);
11368
11369            return ctx_r17.popupMessage(msg_r15);
11370          });
11371
11372          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11373        }
11374
11375        if (rf & 2) {
11376          var msg_r15 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"]().$implicit;
11377
11378          var ctx_r16 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4);
11379
11380          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("imageList", msg_r15.images)("backColor", ctx_r16.generateHeaderColor(msg_r15.backColor).bg);
11381        }
11382      }
11383
11384      var _c0 = function _c0(a0, a1) {
11385        return {
11386          background: a0,
11387          color: a1
11388        };
11389      };
11390
11391      var _c1 = function _c1() {
11392        return ["/viewing"];
11393      };
11394
11395      var _c2 = function _c2(a0) {
11396        return {
11397          messageId: a0,
11398          showBookmarkAlert: true
11399        };
11400      };
11401
11402      var _c3 = function _c3(a0, a1, a2) {
11403        return {
11404          background: a0,
11405          color: a1,
11406          "font-family": a2
11407        };
11408      };
11409
11410      function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_Template(rf, ctx) {
11411        if (rf & 1) {
11412          var _r22 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵgetCurrentView"]();
11413
11414          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 29);
11415
11416          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](1, "div", 30);
11417
11418          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](2, "div", 31);
11419
11420          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](3, "table", 32);
11421
11422          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](4, "tr");
11423
11424          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](5, "td");
11425
11426          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](6, "span", 33);
11427
11428          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](7, "img", 34);
11429
11430          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11431
11432          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11433
11434          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](8, "td");
11435
11436          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](9, "table");
11437
11438          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](10, "tr", 35);
11439
11440          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](11);
11441
11442          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11443
11444          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](12, "tr", 36);
11445
11446          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](13);
11447
11448          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11449
11450          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11451
11452          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11453
11454          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11455
11456          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11457
11458          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11459
11460          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](14, "div", 37);
11461
11462          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](15, "table", 32);
11463
11464          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](16, "tr");
11465
11466          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](17, "td");
11467
11468          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](18, "button", 38);
11469
11470          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_Template_button_click_18_listener() {
11471            var restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r22);
11472
11473            var msg_r15 = restoredCtx.$implicit;
11474
11475            var ctx_r21 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4);
11476
11477            return ctx_r21.popupMessage(msg_r15);
11478          });
11479
11480          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](19, "img", 39);
11481
11482          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11483
11484          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](20, "a", 40);
11485
11486          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](21, "button", 38);
11487
11488          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_Template_button_click_21_listener() {
11489            var restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r22);
11490
11491            var msg_r15 = restoredCtx.$implicit;
11492
11493            var ctx_r23 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4);
11494
11495            return ctx_r23.viewService.bookmarkMessage(msg_r15.id);
11496          });
11497
11498          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](22, "img", 41);
11499
11500          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11501
11502          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11503
11504          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](23, "button", 42);
11505
11506          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_Template_button_click_23_listener() {
11507            var restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r22);
11508
11509            var msg_r15 = restoredCtx.$implicit;
11510
11511            var ctx_r24 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4);
11512
11513            return ctx_r24.viewService.setMessageToDelete(msg_r15.id);
11514          });
11515
11516          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](24, "img", 43);
11517
11518          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11519
11520          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11521
11522          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11523
11524          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11525
11526          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11527
11528          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11529
11530          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](25, "div", 44);
11531
11532          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_Template_div_click_25_listener() {
11533            var restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r22);
11534
11535            var msg_r15 = restoredCtx.$implicit;
11536
11537            var ctx_r25 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4);
11538
11539            return ctx_r25.popupMessage(msg_r15);
11540          });
11541
11542          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](26, "markdown", 45);
11543
11544          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11545
11546          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](27, MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_app_image_footer_27_Template, 1, 2, "app-image-footer", 46);
11547
11548          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11549        }
11550
11551        if (rf & 2) {
11552          var msg_r15 = ctx.$implicit;
11553
11554          var ctx_r14 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4);
11555
11556          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("id", msg_r15.id);
11557
11558          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
11559
11560          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction2"](13, _c0, ctx_r14.generateHeaderColor(msg_r15.backColor).bg, ctx_r14.generateHeaderColor(msg_r15.backColor).text));
11561
11562          _angular_core__WEBPACK_IMPOR
11562TED_MODULE_7__["ɵɵadvance"](6);
11563
11564          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", msg_r15.fromPic, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]);
11565
11566          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](4);
11567
11568          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate1"](" ", msg_r15.fromName, " ");
11569
11570          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2);
11571
11572          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate1"](" ", ctx_r14.viewService.timeSince(ctx_r14.viewService.nowMillis, msg_r15.timestamp.toMillis(), msg_r15.timestamp.toDate().toDateString()), " ");
11573
11574          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](6);
11575
11576          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", ctx_r14.generateHeaderColor(msg_r15.backColor).popup, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]);
11577
11578          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
11579
11580          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("routerLink", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction0"](16, _c1))("queryParams", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction1"](17, _c2, msg_r15.id));
11581
11582          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2);
11583
11584          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", ctx_r14.generateHeaderColor(msg_r15.backColor).bookmark, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]);
11585
11586          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2);
11587
11588          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", ctx_r14.generateHeaderColor(msg_r15.backColor).trash, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]);
11589
11590          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
11591
11592          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction3"](19, _c3, msg_r15.backColor, msg_r15.fontColor, ctx_r14.viewService.fonts[msg_r15.fontFamily].fontFamily + "," + ctx_r14.viewService.fonts[msg_r15.fontFamily].backupFont));
11593
11594          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
11595
11596          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("data", ctx_r14.viewService.decodeHtml(msg_r15.contents));
11597
11598          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
11599
11600          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", msg_r15.images && msg_r15.images.length > 0);
11601        }
11602      }
11603
11604      function MessagesComponent_ng_template_1_ng_template_1_div_4_Template(rf, ctx) {
11605        if (rf & 1) {
11606          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 27);
11607
11608          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](1, MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_Template, 28, 23, "div", 28);
11609
11610          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11611        }
11612
11613        if (rf & 2) {
11614          var ctx_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](3);
11615
11616          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
11617
11618          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngForOf", ctx_r8.messageList);
11619        }
11620      }
11621
11622      function MessagesComponent_ng_template_1_ng_template_1_div_5_div_20_app_inline_images_23_Template(rf, ctx) {
11623        if (rf & 1) {
11624          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](0, "app-inline-images", 64);
11625        }
11626
11627        if (rf & 2) {
11628          var msg_r27 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"]().$implicit;
11629
11630          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("images", msg_r27.images);
11631        }
11632      }
11633
11634      function MessagesComponent_ng_template_1_ng_template_1_div_5_div_20_Template(rf, ctx) {
11635        if (rf & 1) {
11636          var _r31 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵgetCurrentView"]();
11637
11638          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 60);
11639
11640          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](1, "div", 30);
11641
11642          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](2, "div", 31);
11643
11644          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](3, "table", 32);
11645
11646          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](4, "tr");
11647
11648          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](5, "td");
11649
11650          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](6, "span", 33);
11651
11652          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](7, "img", 34);
11653
11654          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11655
11656          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11657
11658          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](8, "td");
11659
11660          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](9, "table");
11661
11662          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](10, "tr", 35);
11663
11664          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](11);
11665
11666          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11667
11668          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](12, "tr", 36);
11669
11670          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](13);
11671
11672          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11673
11674          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11675
11676          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11677
11678          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11679
11680          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11681
11682          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11683
11684          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](14, "div", 61);
11685
11686          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](15, "table", 32);
11687
11688          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](16, "tr");
11689
11690          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](17, "td");
11691
11692          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](18, "a", 40);
11693
11694          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](19, "button", 38);
11695
11696          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_div_5_div_20_Template_button_click_19_listener() {
11697            var restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r31);
11698
11699            var msg_r27 = restoredCtx.$implicit;
11700
11701            var ctx_r30 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4);
11702
11703            return ctx_r30.viewService.bookmarkMessage(msg_r27.id);
11704          });
11705
11706          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](20, "img", 41);
11707
11708          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11709
11710          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11711
11712          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11713
11714          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11715
11716          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11717
11718          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11719
11720          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11721
11722          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](21, "div", 62);
11723
11724          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](22, "markdown", 45);
11725
11726          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](23, MessagesComponent_ng_template_1_ng_template_1_div_5_div_20_app_inline_images_23_Template, 1, 1, "app-inline-images", 63);
11727
11728          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11729
11730          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11731        }
11732
11733        if (rf & 2) {
11734          var msg_r27 = ctx.$implicit;
11735
11736          var ctx_r26 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4);
11737
11738          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
11739
11740          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction2"](10, _c0, ctx_r26.generateHeaderColor(msg_r27.backColor).bg, ctx_r26.generateHeaderColor(msg_r27.backColor).text));
11741
11742          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](6);
11743
11744          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", msg_r27.fromPic, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]);
11745
11746          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](4);
11747
11748          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate1"](" ", msg_r27.fromName, " ");
11749
11750          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2);
11751
11752          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate1"](" ", ctx_r26.viewService.timeSince(ctx_r26.viewService.n
11752owMillis, msg_r27.timestamp.toMillis(), msg_r27.timestamp.toDate().toDateString()), " ");
11753
11754          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](5);
11755
11756          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("routerLink", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction0"](13, _c1))("queryParams", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction1"](14, _c2, msg_r27.id));
11757
11758          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2);
11759
11760          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", ctx_r26.generateHeaderColor(msg_r27.backColor).bookmark, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]);
11761
11762          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
11763
11764          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction3"](16, _c3, msg_r27.backColor, msg_r27.fontColor, ctx_r26.viewService.fonts[msg_r27.fontFamily].fontFamily + "," + ctx_r26.viewService.fonts[msg_r27.fontFamily].backupFont));
11765
11766          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
11767
11768          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("data", ctx_r26.viewService.decodeHtml(msg_r27.contents));
11769
11770          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
11771
11772          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", msg_r27.images);
11773        }
11774      }
11775
11776      function MessagesComponent_ng_template_1_ng_template_1_div_5_Template(rf, ctx) {
11777        if (rf & 1) {
11778          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 48);
11779
11780          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](1, "div", 49);
11781
11782          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](2, "div", 50);
11783
11784          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](3, "div", 51);
11785
11786          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](4, "div", 52);
11787
11788          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](5, "div", 31);
11789
11790          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](6, "table", 32);
11791
11792          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](7, "tr");
11793
11794          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](8, "td");
11795
11796          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](9, "span", 33);
11797
11798          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](10, "img", 53);
11799
11800          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11801
11802          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11803
11804          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](11, "td");
11805
11806          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](12, "table");
11807
11808          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](13, "tr", 35);
11809
11810          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](14, " Virtrolio Team ");
11811
11812          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11813
11814          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](15, "tr", 36);
11815
11816          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](16);
11817
11818          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11819
11820          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11821
11822          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11823
11824          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11825
11826          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11827
11828          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11829
11830          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11831
11832          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](17, "div", 54);
11833
11834          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](18, "div", 55);
11835
11836          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](19, " Welcome to your virtrolio! Click on the buttons below to navigate through your messages. ");
11837
11838          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11839
11840          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11841
11842          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11843
11844          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](20, MessagesComponent_ng_template_1_ng_template_1_div_5_div_20_Template, 24, 20, "div", 56);
11845
11846          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11847
11848          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11849
11850          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](21, "div", 57);
11851
11852          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](22, "a", 58);
11853
11854          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](23, "Prev");
11855
11856          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11857
11858          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](24, "a", 59);
11859
11860          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](25, "Next");
11861
11862          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11863
11864          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11865
11866          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11867        }
11868
11869        if (rf & 2) {
11870          var ctx_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](3);
11871
11872          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](16);
11873
11874          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate2"](" You have ", ctx_r9.messageList.length, " ", ctx_r9.oneMessage, " ");
11875
11876          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](4);
11877
11878          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngForOf", ctx_r9.messageList);
11879        }
11880      }
11881
11882      function MessagesComponent_ng_template_1_ng_template_1_Template(rf, ctx) {
11883        if (rf & 1) {
11884          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 21);
11885
11886          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](1, "div", 22);
11887
11888          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](2, MessagesComponent_ng_template_1_ng_template_1_button_2_Template, 2, 0, "button", 23);
11889
11890          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](3, MessagesComponent_ng_template_1_ng_template_1_button_3_Template, 2, 0, "button", 23);
11891
11892          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11893
11894          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11895
11896          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](4, MessagesComponent_ng_template_1_ng_template_1_div_4_Template, 2, 1, "div", 24);
11897
11898          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](5, MessagesComponent_ng_template_1_ng_template_1_div_5_Template, 26, 3, "div", 25);
11899        }
11900
11901        if (rf & 2) {
11902          var ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](2);
11903
11904          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2);
11905
11906          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", !ctx_r5.viewService.isCarouselView);
11907
11908          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
11909
11910          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", ctx_r5.viewService.isCarouselView);
11911
11912          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
11913
11914          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", ctx_r5.viewService.isCarouselView === false);
11915
11916          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
11917
11918          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", ctx_r5.viewService.isCarouselView == true);
11919        }
11920      }
11921
11922      function MessagesComponent_ng_template_1_Template(rf, ctx) {
11923        if (rf & 1) {
11924          var _r33 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵgetCurrentView"]();
11925
11926          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](0, MessagesComponent_ng_template_1_div_0_Template, 10, 0, "div", 0);
11927
11928          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](1, MessagesComponent_ng_template_1_ng_template_1_Template, 6, 4, "ng-template", null, 4, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplateRefExtractor"]);
11929
11930          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](3, "div", 5);
11931
11932          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](4, "div", 6);
11933
11934          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](5, "div", 7);
11935
11936          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](6, "div", 8);
11937
11938          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](7, "h5", 9);
11939
11940          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](8, "Easy now!");
11941
11942          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11943
11944          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](9, "button", 10);
11945
11946          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](10, "span", 11);
11947
11948          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](11, "\xD7");
11949
11950          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11951
11952          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11953
11954          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11955
11956          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](12, "div", 12);
11957
11958          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](13, " Looks like you're trying to delete a message! Please be sure that this is what you want to do. ");
11959
11960          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](14, "b");
11961
11962          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](15, "It is not possible to re
11962cover a deleted message.");
11963
11964          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11965
11966          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11967
11968          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](16, "div", 13);
11969
11970          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](17, "button", 14);
11971
11972          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_Template_button_click_17_listener() {
11973            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r33);
11974
11975            var ctx_r32 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"]();
11976
11977            return ctx_r32.viewService.deleteMessage();
11978          });
11979
11980          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](18, " Delete Message ");
11981
11982          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11983
11984          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](19, "button", 15);
11985
11986          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](20, " Cancel ");
11987
11988          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11989
11990          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11991
11992          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11993
11994          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11995
11996          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
11997        }
11998
11999        if (rf & 2) {
12000          var _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵreference"](2);
12001
12002          var ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"]();
12003
12004          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", ctx_r2.messageList.length === 0)("ngIfElse", _r4);
12005        }
12006      }
12007
12008      var _MessagesComponent = /*#__PURE__*/function () {
12009        function _MessagesComponent(viewService, authService, route, router, vps, toastr, modalService, msgIoService) {
12010          _classCallCheck(this, _MessagesComponent);
12011
12012          this.viewService = viewService;
12013          this.authService = authService;
12014          this.route = route;
12015          this.router = router;
12016          this.vps = vps;
12017          this.toastr = toastr;
12018          this.modalService = modalService;
12019          this.msgIoService = msgIoService;
12020          this.isLoading = true;
12021          this.messageList = [];
12022          this.oneMessage = 'messages';
12023        }
12024        /**
12025         * Assign messages passed via the [setMessageList] binding
12026         * @param messages list of verified VirtrolioMessages
12027         */
12028
12029
12030        _createClass(_MessagesComponent, [{
12031          key: "setMessageList",
12032          set: function set(messages) {
12033            if (messages) {
12034              this.messageList = messages; // Set 'You have x message(s)' text based on number of messages
12035
12036              this.messageList.length === 1 ? this.oneMessage = 'message' : this.oneMessage = 'messages';
12037            }
12038          }
12039        }, {
12040          key: "setIsLoading",
12041          set: function set(isLoading) {
12042            this.isLoading = isLoading;
12043          }
12044        }, {
12045          key: "ngOnInit",
12046          value: function ngOnInit() {}
12047          /**
12048           * Generate the lightness value of HSL from RBG
12049           */
12050
12051        }, {
12052          key: "getLightness",
12053          value: function getLightness(r, g, b) {
12054            r /= 255;
12055            g /= 255;
12056            b /= 255;
12057            var max = Math.max(r, g, b);
12058            var min = Math.min(r, g, b);
12059            return (max + min) / 2;
12060          }
12061        }, {
12062          key: "ngOnDestroy",
12063          value: function ngOnDestroy() {
12064            $('#delete').modal('hide');
12065          }
12066          /**
12067           * Generate a darkened version of backColor, returning this new header color and the appropriate header text color
12068           * @param backColor: background color of the message
12069           */
12070
12071        }, {
12072          key: "generateHeaderColor",
12073          value: function generateHeaderColor(backColor) {
12074            var bgR = parseInt(backColor.slice(1, 3), 16);
12075            var bgG = parseInt(backColor.slice(3, 5), 16);
12076            var bgB = parseInt(backColor.slice(5), 16);
12077            var headerTextColor;
12078            var trashIcon;
12079            var bookmarkIcon;
12080            var popupIcon;
12081
12082            if (this.getLightness(bgR, bgG, bgB) > 0.65) {
12083              headerTextColor = '#000000';
12084              trashIcon = '../../../../assets/images/icons/trash-black.svg';
12085              bookmarkIcon = '../../../../assets/images/icons/bookmark-black.svg';
12086              popupIcon = '../../../../assets/images/icons/maximize-black.svg';
12087            } else {
12088              headerTextColor = '#FFFFFF';
12089              trashIcon = '../../../../assets/images/icons/trash-white.svg';
12090              bookmarkIcon = '../../../../assets/images/icons/bookmark-white.svg';
12091              popupIcon = '../../../../assets/images/icons/maximize-white.svg';
12092            }
12093
12094            var hR = bgR + 20 > 255 ? 255 : bgR + 20;
12095            var hG = bgG + 20 > 255 ? 255 : bgG + 20;
12096            var hB = bgB + 20 > 255 ? 255 : bgB + 20;
12097            var headerColor = hR.toString(16) + hG.toString(16) + hB.toString(16);
12098            return {
12099              bg: '#' + headerColor,
12100              text: headerTextColor,
12101              trash: trashIcon,
12102              bookmark: bookmarkIcon,
12103              popup: popupIcon
12104            };
12105          }
12106          /**
12107           * Activate an NgbModal to display the selected message
12108           * @param msg VirtrolioMessage object
12109           */
12110
12111        }, {
12112          key: "popupMessage",
12113          value: function popupMessage(msg) {
12114            this.viewService.currentMessageModal = msg;
12115            this.modalService.show(_message_modal_message_modal_component__WEBPACK_IMPORTED_MODULE_0__.MessageModalComponent, {
12116              "class": 'modal-dialog-centered'
12117            });
12118          }
12119          /**
12120           * Swap between message viewing styles
12121           */
12122
12123        }, {
12124          key: "toggleViewStyle",
12125          value: function toggleViewStyle() {
12126            this.viewService.isCarouselView = this.viewService.isCarouselView === false;
12127          }
12128        }]);
12129
12130        return _MessagesComponent;
12131      }();
12132
12133      _MessagesComponent.ɵfac = function MessagesComponent_Factory(t) {
12134        return new (t || _MessagesComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_core_viewing_service__WEBPACK_IMPORTED_MODULE_1__.ViewingService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_core_auth_service__WEBPACK_IMPORTED_MODULE_2__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_8__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_8__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_angular_common__WEBPACK_IMPORTED_MODULE_9__.ViewportScroller), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](ngx_toastr__WEBPACK_IMPORTED_MODULE_10__.ToastrService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_3__.BsModalService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_core_msg_io_service__WEBPACK_IMPORTED_MODULE_4__.MsgIoService));
12135      };
12136
12137      _MessagesComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdefineComponent"]({
12138        type: _MessagesComponent,
12139        selectors: [["app-messages"]],
12140        inputs: {
12141          setMessageList: "setMessageList",
12142          setIsLoading: "setIsLoading"
12143        },
12144        decls: 3,
12145        vars: 2,
12146        consts: [["class", "centered-container d-flex justify-content-center", 4, "ngIf", "ngIfElse"], ["messages", ""], [1, "centered-container", "d-flex", "justify-content-center"], ["role", "status", 1, "spinner-border"], ["showMessages", ""], ["aria-hidden", "true", "aria-labelledby", "delete-message-modal-title", "id", "delete", "role", "dialog", "tabindex", "-1", 1, "modal", "fade"], ["role", "document", 1, "modal-dialog", "modal-dialog-centered"], [1, "modal-content"], [1, "modal-header"], ["id", "delete-message-modal-title", 1, "modal-title"], ["aria-label", "Close", "data-dismiss", "modal", "type", "button", 1, "close"], ["aria-hidden", "true"], ["id", "delete-message-body", 1, "modal-body"], [1, "modal-footer"], ["data-dismiss", "modal", "type", "button", 1, "btn", "btn-danger", 3, "click"], ["data-dismiss", "modal", "type", "button", 1, "btn", "btn-secondary"], [1, "empty-state-container", "px-5"], ["alt", "No messages", "src", "../../../assets/images/EmptyMessages.svg", 1, "empty-state-img"], [1, "empty-state-header", "pt-2"], [1, "empty-state-body", "pt-2"], ["routerLink", "/my-virtrolio", "routerLinkActive", "navbar-nav-active"], [1, "row", "my-3"], [1, "col-12"], ["class", "btn-sm btn-primary shadow", 3, "click", 4, "ngIf"], ["class", "card-columns mt-3", 4, "ngIf"], ["class", "viewing-container mb-5", 4, "ngIf"], [1, "btn-sm", "btn-primary", "shadow", 3, "click"], [1, "card-columns", "mt-3"], ["class", "card shadow", 3, "id", 4, "ngFor", "ngForOf"], [1, "card", "shadow", 3, "id"], [1, "msg-header", 3, "ngStyle"], [1, "msg-header-group", "pt-1"], [1, "header-table"], [1, "profile-pic-container-small", "mr-2"], ["alt", "profile-pic", 1, "profile-pic", 3, "src"], [1, "msg-header-text"], [1, "msg-header-date"], [1, "card-header-group"], ["type", "button", 1, "btn", "card-button", 3, "click"], ["alt", "popup", 1, "card-icon", 3, "src"], ["target", "_blank", 3, "routerLink", "queryParams"], ["alt", "bookmark", 1, "card-icon", 3, "src"], ["data-target", "#delete", "data-toggle", "modal", "type", "button", 1, "btn", "card-button", 3, "click"], ["alt", "delete", 1, "card-icon", 3, "src"], [1, "card-body", "message-card", "message", 3, "ngStyle", "click"], ["emoji", "", 3, "data"], [3, "imageList", "backColor", "popupMessage", 4, "ngIf"], [3, "imageList", "backColor", "popupMessage"], [1, "viewing-container", "mb-5"], ["data-interval", "false", "data-ride", "carousel", "id", "carousel", 1, "carousel", "slide", "border", "rounded"], [1, "carousel-inner"], [1, "carousel-item", "active"], [1, "msg-header"], ["alt", "profile-pic", "src", "../../../../assets/images/logo_reg.png", 1, "profile-pic"], [1, "page", "title-page", "vertical-center"], [1, "title-text"], ["class", "carousel-item", 4, "ngFor", "ngForOf"], [1, "carousel-control
12146s", "shadow"], ["data-slide", "prev", "href", "#carousel", "role", "button", 1, "carousel-controls-button"], ["data-slide", "next", "href", "#carousel", "role", "button", 1, "carousel-controls-button"], [1, "carousel-item"], [1, "card-header-group", "vertical-center"], [1, "card-body", "page", "message", 3, "ngStyle"], [3, "images", 4, "ngIf"], [3, "images"]],
12147        template: function MessagesComponent_Template(rf, ctx) {
12148          if (rf & 1) {
12149            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](0, MessagesComponent_div_0_Template, 2, 0, "div", 0);
12150
12151            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](1, MessagesComponent_ng_template_1_Template, 21, 2, "ng-template", null, 1, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplateRefExtractor"]);
12152          }
12153
12154          if (rf & 2) {
12155            var _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵreference"](2);
12156
12157            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", ctx.isLoading)("ngIfElse", _r1);
12158          }
12159        },
12160        directives: [_angular_common__WEBPACK_IMPORTED_MODULE_9__.NgIf, _angular_router__WEBPACK_IMPORTED_MODULE_8__.RouterLinkWithHref, _angular_router__WEBPACK_IMPORTED_MODULE_8__.RouterLinkActive, _angular_common__WEBPACK_IMPORTED_MODULE_9__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_9__.NgStyle, ngx_markdown__WEBPACK_IMPORTED_MODULE_11__.MarkdownComponent, _image_footer_image_footer_component__WEBPACK_IMPORTED_MODULE_5__.ImageFooterComponent, _shared_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_6__.InlineImagesComponent],
12161        styles: [".title-page[_ngcontent-%COMP%] {\n  text-align: center;\n  font-size: 1em;\n  font-family: Montserrat, sans-serif;\n}\n\n.empty-state-container[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  text-align: center;\n}\n\n.empty-state-img[_ngcontent-%COMP%] {\n  width: 10em;\n}\n\n.empty-state-header[_ngcontent-%COMP%] {\n  font-size: 1.5em;\n  color: var(--light-grey);\n}\n\n.empty-state-body[_ngcontent-%COMP%] {\n  font-size: 1em;\n  color: var(--light-grey);\n}\n\n.message[_ngcontent-%COMP%] {\n  text-align: justify;\n  font-size: 1em;\n}\n\n\n\n.card[_ngcontent-%COMP%] {\n  display: inline-block;\n}\n\n.message-card[_ngcontent-%COMP%] {\n  position: relative;\n  background-color: var(--light-grey);\n  width: 100%;\n  word-break: break-word;\n  max-height: 30em;\n  overflow: hidden;\n  cursor: pointer;\n}\n\n.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%] {\n  overflow-wrap: break-word;\n}\n\n\n\n.page[_ngcontent-%COMP%] {\n  background-color: var(--accent);\n  box-shadow: 0 0.15em 0.25em 0.05em rgba(0, 0, 0, 0.175);\n  color: white;\n  height: 70vh;\n  padding: 1.5em;\n  overflow-y: auto;\n}\n\n.carousel-controls[_ngcontent-%COMP%] {\n  display: flex;\n  justify-content: space-between;\n  padding: 1em 2em;\n}\n\n.carousel-controls-button[_ngcontent-%COMP%] {\n  color: var(--accent);\n  font-weight: bold;\n}\n\n.carousel-controls-button[_ngcontent-%COMP%]:hover {\n  text-decoration: none;\n}\n\n\n\n.msg-header[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: row;\n  justify-content: space-between;\n  line-height: 1em;\n  height: 3.5em;\n  padding: 0.5em 0.5em 0.5em 1em;\n}\n\n.msg-header-group[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: row;\n}\n\n.msg-header-text[_ngcontent-%COMP%] {\n  font-weight: bold;\n  font-size: 0.9em;\n  margin: 0.2em 0 0 0.5em;\n  max-width: 10em;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.msg-header-date[_ngcontent-%COMP%] {\n  font-size: 0.7em;\n  margin: 0 0 0 0.5em;\n}\n\n.profile-pic-container-small[_ngcontent-%COMP%] {\n  background: #ffffff;\n  height: 1.7em;\n  width: 1.7em;\n  border-radius: 100%;\n  display: flex;\n}\n\n\n\n.btn[_ngcontent-%COMP%]:focus, .btn[_ngcontent-%COMP%]:active {\n  outline: none !important;\n  box-shadow: none !important;\n}\n\n.card-button[_ngcontent-%COMP%] {\n  display: flex;\n  float: right;\n  margin-top: 0;\n  align-self: flex-end;\n}\n\n.card-icon[_ngcontent-%COMP%] {\n  width: 1.2em;\n  height: 1.2em;\n  border-radius: 0.15em;\n  padding: 0.1em;\n}\n\n.btn[_ngcontent-%COMP%] {\n  padding: 0 0.5em;\n}\n\n@media (min-width: 0px) {\n  .card-columns[_ngcontent-%COMP%] {\n    -moz-column-count: 1;\n         column-count: 1;\n  }\n\n  .card-columns[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%] {\n    width: 100%;\n  }\n}\n\n@media (min-width: 576px) {\n  .card-columns[_ngcontent-%COMP%] {\n    -moz-column-count: 1;\n         column-count: 1;\n  }\n}\n\n@media (min-width: 768px) {\n  .card-columns[_ngcontent-%COMP%] {\n    -moz-column-count: 2;\n         column-count: 2;\n  }\n}\n\n@media (min-width: 992px) {\n  .card-columns[_ngcontent-%COMP%] {\n    -moz-column-count: 3;\n         column-count: 3;\n  }\n}\n\n@media (min-width: 1200px) {\n  .card-columns[_ngcontent-%COMP%] {\n    -moz-column-count: 3;\n         column-count: 3;\n  }\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar {\n  width: 0.2em;\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n  opacity: 0;\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n  background: var(--scrollbar-thumb);\n  opacity: 0.1;\n  border-radius: 1em;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lc3NhZ2VzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLG1DQUFtQztBQUNyQzs7QUFFQTtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxXQUFXO0FBQ2I7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsd0JBQXdCO0FBQzFCOztBQUVBO0VBQ0UsY0FBYztFQUNkLHdCQUF3QjtB
12161QUMxQjs7QUFFQTtFQUNFLG1CQUFtQjtFQUNuQixjQUFjO0FBQ2hCOztBQUVBLGlCQUFpQjs7QUFDakI7RUFDRSxxQkFBcUI7QUFDdkI7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsbUNBQW1DO0VBQ25DLFdBQVc7RUFDWCxzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBLDBCQUEwQjs7QUFDMUI7RUFDRSwrQkFBK0I7RUFDL0IsdURBQXVEO0VBQ3ZELFlBQVk7RUFDWixZQUFZO0VBQ1osY0FBYztFQUNkLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGFBQWE7RUFDYiw4QkFBOEI7RUFDOUIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLHFCQUFxQjtBQUN2Qjs7QUFFQSxtQkFBbUI7O0FBQ25CO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsZ0JBQWdCO0VBQ2hCLGFBQWE7RUFDYiw4QkFBOEI7QUFDaEM7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLG1CQUFtQjtFQUNuQixhQUFhO0VBQ2IsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixhQUFhO0FBQ2Y7O0FBRUEsa0ZBQWtGOztBQUNsRjs7RUFFRSx3QkFBd0I7RUFDeEIsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLFlBQVk7RUFDWixhQUFhO0VBQ2Isb0JBQW9CO0FBQ3RCOztBQUVBO0VBQ0UsWUFBWTtFQUNaLGFBQWE7RUFDYixxQkFBcUI7RUFDckIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFO0lBQ0Usb0JBQWU7U0FBZixlQUFlO0VBQ2pCOztFQUVBO0lBQ0UsV0FBVztFQUNiO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLG9CQUFlO1NBQWYsZUFBZTtFQUNqQjtBQUNGOztBQUVBO0VBQ0U7SUFDRSxvQkFBZTtTQUFmLGVBQWU7RUFDakI7QUFDRjs7QUFFQTtFQUNFO0lBQ0Usb0JBQWU7U0FBZixlQUFlO0VBQ2pCO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLG9CQUFlO1NBQWYsZUFBZTtFQUNqQjtBQUNGOztBQUVBLFVBQVU7O0FBQ1Y7RUFDRSxZQUFZO0FBQ2Q7O0FBRUEsVUFBVTs7QUFDVjtFQUNFLFVBQVU7QUFDWjs7QUFFQSxXQUFXOztBQUNYO0VBQ0Usa0NBQWtDO0VBQ2xDLFlBQVk7RUFDWixrQkFBa0I7QUFDcEIiLCJmaWxlIjoibWVzc2FnZXMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi50aXRsZS1wYWdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG59XG5cbi5lbXB0eS1zdGF0ZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZW1wdHktc3RhdGUtaW1nIHtcbiAgd2lkdGg6IDEwZW07XG59XG5cbi5lbXB0eS1zdGF0ZS1oZWFkZXIge1xuICBmb250LXNpemU6IDEuNWVtO1xuICBjb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG59XG5cbi5lbXB0eS1zdGF0ZS1ib2R5IHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcbn1cblxuLm1lc3NhZ2Uge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogTWVzc2FnZSBDYXJkICovXG4uY2FyZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1lc3NhZ2UtY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG4gIHdpZHRoOiAxMDAlO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBtYXgtaGVpZ2h0OiAzMGVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YWJsZSB0ZCB7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi8qIE1lc3NhZ2UgQ2Fyb3VzZWwgUGFnZSAqL1xuLnBhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICBib3gtc2hhZG93OiAwIDAuMTVlbSAwLjI1ZW0gMC4wNWVtIHJnYmEoMCwgMCwgMCwgMC4xNzUpO1xuICBjb2xvcjogd2hpdGU7XG4gIGhlaWdodDogNzB2aDtcbiAgcGFkZGluZzogMS41ZW07XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5jYXJvdXNlbC1jb250cm9scyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMWVtIDJlbTtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2xzLWJ1dHRvbiB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2xzLWJ1dHRvbjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogTWVzc2FnZSBIZWFkZXIgKi9cbi5tc2ctaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBoZWlnaHQ6IDMuNWVtO1xuICBwYWRkaW5nOiAwLjVlbSAwLjVlbSAwLjVlbSAxZW07XG59XG5cbi5tc2ctaGVhZGVyLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLm1zZy1oZWFkZXItdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuOWVtO1xuICBtYXJnaW46IDAuMmVtIDAgMCAwLjVlbTtcbiAgbWF4LXdpZHRoOiAxMGVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1zZy1oZWFkZXItZGF0ZSB7XG4gIGZvbnQtc2l6ZTogMC43ZW07XG4gIG1hcmdpbjogMCAwIDAgMC41ZW07XG59XG5cbi5wcm9maWxlLXBpYy1jb250YWluZXItc21hbGwge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBoZWlnaHQ6IDEuN2VtO1xuICB3aWR0aDogMS43ZW07XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8qIFJlbW92ZSB0aGUgYmx1ZSBvdXRsaW5lIGFyb3VuZCB0aGUgYnV0dG9ucyBvbiB0aGUgaGVhZGVyIHdoZW4gdGhleSdyZSBjbGlja2VkICovXG4uYnRuOmZvY3VzLFxuLmJ0bjphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNhcmQtYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAwO1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbn1cblxuLmNhcmQtaWNvbiB7XG4gIHdpZHRoOiAxLjJlbTtcbiAgaGVpZ2h0OiAxLjJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xNWVtO1xuICBwYWRkaW5nOiAwLjFlbTtcbn1cblxuLmJ0biB7XG4gIHBhZGRpbmc6IDAgMC41ZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAwcHgpIHtcbiAgLmNhcmQtY29sdW1ucyB7XG4gICAgY29sdW1uLWNvdW50OiAxO1xuICB9XG5cbiAgLmNhcmQtY29sdW1ucyAuY2FyZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jYXJkLWNvbHVtbnMge1xuICAgIGNvbHVtbi1jb3VudDogMTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNhcmQtY29sdW1ucyB7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY2FyZC1jb2x1bW5zIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY2FyZC1jb2x1bW5zIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gIH1cbn1cblxuLyogd2lkdGggKi9cbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogMC4yZW07XG59XG5cbi8qIFRyYWNrICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLyogSGFuZGxlICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLXRodW1iKTtcbiAgb3BhY2l0eTogMC4xO1xuICBib3JkZXItcmFkaXVzOiAxZW07XG59XG4iXX0= */"]
12162      });
12163      /***/
12164    },
12165
12166    /***/
12167    39161:
12168    /*!**************************************************************************!*\
12169      !*** ./src/app/pages/viewing/responses-list/responses-list.component.ts ***!
12170      \**************************************************************************/
12171
12172    /***/
12173    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
12174      "use strict";
12175
12176      __webpack_require__.r(__webpack_exports__);
12177      /* harmony export */
12178
12179
12180      __webpack_require__.d(__webpack_exports__, {
12181        /* harmony export */
12182        "ResponsesListComponent": function ResponsesListComponent() {
12183          return (
12184            /* binding */
12185            _ResponsesListComponent
12186          );
12187        }
12188        /* harmony export */
12189
12190      });
12191      /* harmony import */
12192
12193
12194      var _core_common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
12195      /*! ../../../core/common.service */
12196      80150);
12197      /* harmony import */
12198
12199
12200      var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
12201      /*! @angular/core */
12202      37716);
12203      /* harmony import */
12204
12205
12206      var _core_viewing_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
12207      /*! ../../../core/viewing.service */
12208      91225);
12209      /* harmony import */
12210
12211
12212      var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
12213      /*! @angular/common */
12214      38583);
12215      /* harmony import */
12216
12217
12218      var _core_auth_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
12219      /*! ../../../core/auth.service */
12220      87341);
12221      /* harmony import */
12222
12223
12224      var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
12225      /*! ngx-cookie-service */
12226      31584);
12227
12228      function ResponsesListComponent_div_2_img_1_Template(rf, ctx) {
12229        if (rf & 1) {
12230          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](0, "img", 14);
12231        }
12232      }
12233
12234      function ResponsesListComponent_div_2_img_2_Template(rf, ctx) {
12235        if (rf & 1) {
12236          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](0, "img", 15);
12237        }
12238      }
12239
12240      function ResponsesListComponent_div_2_Template(rf, ctx) {
12241        if (rf & 1) {
12242          var _r7 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"]();
12243
12244          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 11);
12245
12246          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ResponsesListComponent_div_2_Template_div_click_0_listener() {
12247            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r7);
12248
12249            var ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
12250
12251            return ctx_r6.navToggle();
12252          });
12253
12254          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](1, ResponsesListComponent_div_2_img_1_Template, 1, 0, "img", 12);
12255
12256          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](2, ResponsesListComponent_div_2_img_2_Template, 1, 0, "img", 13);
12257
12258          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12259        }
12260
12261        if (rf & 2) {
12262          var ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
12263
12264          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵclassProp"]("flashy-hamburger", ctx_r0.showNewToViewing);
12265
12266          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
12267
12268          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", !ctx_r0.navIsOpen);
12269
12270          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
12271
12272          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx_r0.navIsOpen);
12273        }
12274      }
12275
12276      function ResponsesListComponent_div_8_Template(rf, ctx) {
12277        if (rf & 1) {
12278          var _r11 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"]();
12279
12280          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 16);
12281
12282          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ResponsesListComponent_div_8_Template_div_click_0_listener() {
12283            var restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r11);
12284
12285            var msg_r8 = restoredCtx.$implicit;
12286
12287            var ctx_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
12288
12289            return ctx_r10.showMessage(msg_r8.id);
12290          });
12291
12292          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "table", 17);
12293
12294          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](2, "tr");
12295
12296          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "td", 18);
12297
12298          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "div", 19);
12299
12300          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](5, "img", 20);
12301
12302          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12303
12304          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12305
12306          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](6, "td", 21);
12307
12308          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](7, "table");
12309
12310          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](8, "tr", 22);
12311
12312          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](9, "td");
12313
12314          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](10, "a", 23);
12315
12316          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](11);
12317
12318          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12319
12320          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12321
12322          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12323
12324          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "tr", 24);
12325
12326          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](13);
12327
12328          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12329
12330          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12331
12332          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12333
12334          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12335
12336          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12337
12338          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12339        }
12340
12341        if (rf & 2) {
12342          var msg_r8 = ctx.$implicit;
12343          var i_r9 = ctx.index;
12344
12345          var ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
12346
12347          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵattribute"]("data-sli
12347de-to", i_r9 + 1);
12348
12349          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](5);
12350
12351          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpropertyInterpolate"]("src", msg_r8.fromPic, _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵsanitizeUrl"]);
12352
12353          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](6);
12354
12355          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate"](msg_r8.fromName);
12356
12357          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
12358
12359          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", ctx_r1.viewService.timeSince(ctx_r1.viewService.nowMillis, msg_r8.timestamp.toMillis(), msg_r8.timestamp.toDate().toDateString()), " ");
12360        }
12361      }
12362
12363      function ResponsesListComponent_div_11_img_1_Template(rf, ctx) {
12364        if (rf & 1) {
12365          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](0, "img", 14);
12366        }
12367      }
12368
12369      function ResponsesListComponent_div_11_img_2_Template(rf, ctx) {
12370        if (rf & 1) {
12371          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](0, "img", 15);
12372        }
12373      }
12374
12375      function ResponsesListComponent_div_11_Template(rf, ctx) {
12376        if (rf & 1) {
12377          var _r15 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"]();
12378
12379          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 25);
12380
12381          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ResponsesListComponent_div_11_Template_div_click_0_listener() {
12382            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r15);
12383
12384            var ctx_r14 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
12385
12386            return ctx_r14.navToggle();
12387          });
12388
12389          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](1, ResponsesListComponent_div_11_img_1_Template, 1, 0, "img", 12);
12390
12391          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](2, ResponsesListComponent_div_11_img_2_Template, 1, 0, "img", 13);
12392
12393          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12394        }
12395
12396        if (rf & 2) {
12397          var ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
12398
12399          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵclassProp"]("flashy-hamburger-mobile", ctx_r2.showNewToViewing);
12400
12401          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
12402
12403          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", !ctx_r2.navIsOpen);
12404
12405          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
12406
12407          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx_r2.navIsOpen);
12408        }
12409      }
12410
12411      function ResponsesListComponent_div_17_Template(rf, ctx) {
12412        if (rf & 1) {
12413          var _r19 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"]();
12414
12415          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 16);
12416
12417          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ResponsesListComponent_div_17_Template_div_click_0_listener() {
12418            var restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r19);
12419
12420            var msg_r16 = restoredCtx.$implicit;
12421
12422            var ctx_r18 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
12423
12424            return ctx_r18.showMessage(msg_r16.id);
12425          });
12426
12427          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "table", 17);
12428
12429          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](2, "tr");
12430
12431          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "td", 18);
12432
12433          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "div", 19);
12434
12435          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](5, "img", 20);
12436
12437          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12438
12439          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12440
12441          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](6, "td", 21);
12442
12443          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](7, "table");
12444
12445          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](8, "tr", 22);
12446
12447          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](9, "td");
12448
12449          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](10, "a", 23);
12450
12451          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](11);
12452
12453          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12454
12455          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12456
12457          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12458
12459          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "tr", 24);
12460
12461          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](13);
12462
12463          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12464
12465          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12466
12467          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12468
12469          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12470
12471          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12472
12473          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12474        }
12475
12476        if (rf & 2) {
12477          var msg_r16 = ctx.$implicit;
12478          var i_r17 = ctx.index;
12479
12480          var ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
12481
12482          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵattribute"]("data-sli
12482de-to", i_r17 + 1);
12483
12484          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](5);
12485
12486          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpropertyInterpolate"]("src", msg_r16.fromPic, _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵsanitizeUrl"]);
12487
12488          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](6);
12489
12490          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate"](msg_r16.fromName);
12491
12492          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
12493
12494          _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", ctx_r3.viewService.timeSince(ctx_r3.viewService.nowMillis, msg_r16.timestamp.toMillis(), msg_r16.timestamp.toDate().toDateString()), " ");
12495        }
12496      }
12497
12498      var _ResponsesListComponent = /*#__PURE__*/function () {
12499        function _ResponsesListComponent(viewService, vps, authService, cookieService) {
12500          var _this21 = this;
12501
12502          _classCallCheck(this, _ResponsesListComponent);
12503
12504          this.viewService = viewService;
12505          this.vps = vps;
12506          this.authService = authService;
12507          this.cookieService = cookieService;
12508          this.navIsOpen = false;
12509          this.messageList = [];
12510          this.showNewToViewing = true;
12511
12512          try {
12513            this.uid = this.authService.uid();
12514          } catch (e) {
12515            _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e);
12516          }
12517
12518          try {
12519            this.authService.displayName(this.uid).then(function (displayName) {
12520              _this21.displayName = displayName;
12521            });
12522          } catch (e) {
12523            this.displayName = 'User';
12524          }
12525
12526          try {
12527            this.authService.profilePictureLink(this.uid).then(function (photoUrl) {
12528              _this21.photoUrl = photoUrl;
12529            });
12530          } catch (e) {
12531            // Use the logo as a fallback profile picture
12532            this.photoUrl = '../../../../assets/images/logo_reg.png';
12533          }
12534        }
12535        /**
12536         * Assign messages passed via the [setMessageList] binding
12537         * @param messages list of verified VirtrolioMessages
12538         */
12539
12540
12541        _createClass(_ResponsesListComponent, [{
12542          key: "setMessageList",
12543          set: function set(messages) {
12544            if (messages) {
12545              this.messageList = messages;
12546            }
12547          }
12548        }, {
12549          key: "ngOnInit",
12550          value: function ngOnInit() {
12551            if (this.cookieService.check('viewing-cookie') === false) {
12552              this.cookieService.set('viewing-cookie', 'true', 365);
12553            }
12554
12555            this.showNewToViewingValue = this.cookieService.get('viewing-cookie');
12556
12557            if (this.showNewToViewingValue === 'true') {
12558              this.showNewToViewing = true;
12559            } else if (this.showNewToViewingValue === 'false') {
12560              this.showNewToViewing = false;
12561            } else {
12562              _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError('Viewing-cookie not found or initialized properly.');
12563            }
12564          }
12565          /**
12566           * Toggle the state of the side nav menu
12567           */
12568
12569        }, {
12570          key: "navToggle",
12571          value: function navToggle() {
12572            this.navIsOpen = !this.navIsOpen;
12573
12574            if (this.showNewToViewing) {
12575              this.cookieService.set('viewing-cookie', 'false', 365);
12576              this.showNewToViewing = false;
12577            }
12578          }
12579          /**
12580           * Scroll to the card with the given id and update the URL
12581           * @param id: id attribute of the card
12582           */
12583
12584        }, {
12585          key: "showMessage",
12586          value: function showMessage(id) {
12587            this.navToggle();
12588
12589            if (!this.viewService.isCarouselView) {
12590              this.vps.scrollToAnchor(id);
12591            }
12592          }
12593        }]);
12594
12595        return _ResponsesListComponent;
12596      }();
12597
12598      _ResponsesListComponent.ɵfac = function ResponsesListComponent_Factory(t) {
12599        return new (t || _ResponsesListComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_core_viewing_service__WEBPACK_IMPORTED_MODULE_1__.ViewingService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_angular_common__WEBPACK_IMPORTED_MODULE_4__.ViewportScroller), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_core_auth_service__WEBPACK_IMPORTED_MODULE_2__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](ngx_cookie_service__WEBPACK_IMPORTED_MODULE_5__.Co
12599okieService));
12600      };
12601
12602      _ResponsesListComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineComponent"]({
12603        type: _ResponsesListComponent,
12604        selectors: [["app-responses-list"]],
12605        inputs: {
12606          setMessageList: "setMessageList"
12607        },
12608        decls: 18,
12609        vars: 8,
12610        consts: [[1, "d-none", "d-md-block"], [1, "side-nav-container"], ["class", "hamburger vertical-center shadow", 3, "flashy-hamburger", "click", 4, "ngIf"], [1, "sidenav", "shadow"], [1, "close-btn", 3, "click"], [1, "nav-item", "mb-2", "ml-4", "response-title"], ["class", "author-container", "data-target", "#carousel", 3, "click", 4, "ngFor", "ngForOf"], [1, "d-block", "d-md-none"], [1, "side-nav-container-mobile"], ["class", "hamburger-mobile vertical-center shadow", 3, "flashy-hamburger-mobile", "click", 4, "ngIf"], [1, "sidenav-mobile", "shadow"], [1, "hamburger", "vertical-center", "shadow", 3, "click"], ["class", "chevron", "alt", "response-list", "src", "../../../../assets/images/icons/chevron-right.svg", 4, "ngIf"], ["class", "chevron", "alt", "response-list", "src", "../../../../assets/images/icons/chevron-left.svg", 4, "ngIf"], ["alt", "response-list", "src", "../../../../assets/images/icons/chevron-right.svg", 1, "chevron"], ["alt", "response-list", "src", "../../../../assets/images/icons/chevron-left.svg", 1, "chevron"], ["data-target", "#carousel", 1, "author-container", 3, "click"], [1, "header-table"], [1, "profile-pic-col"], [1, "profile-pic-container"], ["alt", "profile-pic", 1, "profile-pic", 3, "src"], [1, "author-col"], [1, "msg-header-text", "author-name"], ["href", "javascript: void(0)", 1, "subtle-link"], [1, "msg-header-date"], [1, "hamburger-mobile", "vertical-center", "shadow", 3, "click"]],
12611        template: function ResponsesListComponent_Template(rf, ctx) {
12612          if (rf & 1) {
12613            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 0);
12614
12615            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "div", 1);
12616
12617            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](2, ResponsesListComponent_div_2_Template, 3, 4, "div", 2);
12618
12619            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "div", 3);
12620
12621            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "a", 4);
12622
12623            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ResponsesListComponent_Template_a_click_4_listener() {
12624              return ctx.navToggle();
12625            });
12626
12627            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](5, "\xD7");
12628
12629            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12630
12631            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](6, "div", 5);
12632
12633            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](7, "My Messages");
12634
12635            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12636
12637            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](8, ResponsesListComponent_div_8_Template, 14, 4, "div", 6);
12638
12639            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12640
12641            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12642
12643            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12644
12645            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](9, "div", 7);
12646
12647            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](10, "div", 8);
12648
12649            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](11, ResponsesListComponent_div_11_Template, 3, 4, "div", 9);
12650
12651            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "div", 10);
12652
12653            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](13, "a", 4);
12654
12655            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ResponsesListComponent_Template_a_click_13_listener() {
12656              return ctx.navToggle();
12657            });
12658
12659            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](14, "\xD7");
12660
12661            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12662
12663            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](15, "div", 5);
12664
12665            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](16, "My Messages");
12666
12667            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12668
12669            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](17, ResponsesListComponent_div_17_Template, 14, 4, "div", 6);
12670
12671            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12672
12673            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12674
12675            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
12676          }
12677
12678          if (rf & 2) {
12679            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
12680
12681            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵclassProp"]("nav-open", ctx.navIsOpen);
12682
12683            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
12684
12685            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.messageList.length !== 0);
12686
12687            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](6);
12688
12689            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngForOf", ctx.messageList);
12690
12691            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
12692
12693            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵclassProp"]("nav-mobile-open", ctx.navIsOpen);
12694
12695            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
12696
12697            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.messageList.length !== 0);
12698
12699            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](6);
12700
12701            _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngForOf", ctx.messageList);
12702          }
12703        },
12704        directives: [_angular_common__WEBPACK_IMPORTED_MODULE_4__.NgIf, _angular_common__WEBPACK_IMPORTED_MODULE_4__.NgForOf],
12705        styles: [".side-nav-container[_ngcontent-%COMP%] {\n  height: calc(100% - var(--navbar-height));\n  position: fixed;\n  left: -25em;\n  \n  z-index: 1050;\n  transition: 0.5s;\n}\n\n.sidenav[_ngcontent-%COMP%] {\n  width: 25em;\n  height: 100%;\n  background-color: white;\n  overflow-x: hidden;\n  padding-top: 2em;\n  z-index: 1050;\n}\n.sidenav[_ngcontent-%COMP%]   .close-btn[_ngcontent-%COMP%] {\n  position: absolute;\n  color: var(--dark);\n  top: 0;\n  right: 25px;\n  font-size: 36px;\n  margin-left: 50px;\n}\n\n.hamburger[_ngcontent-%COMP%] {\n  position: absolute;\n  height: 6em;\n  width: 2em;\n  top: 2em;\n  right: -2em;\n  font-size: 1em;\n  font-weight: bold;\n  color: white;\n  background: var(--accent);\n  border-radius: 0 0.5em 0.5em 0;\n  cursor: pointer;\n  transition: 0.5s;\n  z-index: 1049;\n}\n.hamburger[_ngcontent-%COMP%]:hover {\n  transform: translate(1em, 0);\n  width: 3em;\n  transition: 0.5s;\n}\n\n.nav-open[_ngcontent-%COMP%] {\n  left: 0;\n}\n\n.side-nav-container-mobile[_ngcontent-%COMP%] {\n  height: calc(100% - var(--navbar-height));\n  position: fixed;\n  right: 100vw;\n  \n  z-index: 1050;\n  transition: 0.5s;\n}\n\n.sidenav-mobile[_ngcontent-%COMP%] {\n  width: 100vw;\n  height: 100%;\n  background-color: white;\n  overflow-x: hidden;\n  padding-top: 2em;\n  z-index: 1050;\n}\n.sidenav-mobile[_ngcontent-%COMP%]   .close-btn[_ngcontent-%COMP%] {\n  position: absolute;\n  color: var(--dark);\n  top: 0;\n  right: 25px;\n  font-size: 36px;\n  margin-left: 50px;\n}\n\n.nav-mobile-open[_ngcontent-%COMP%] {\n  right: 0;\n}\n\n.hamburger-mobile[_ngcontent-%COMP%] {\n  position: absolute;\n  height: 3em;\n  width: 2em;\n  top: 3em;\n  right: -2em;\n  font-size: 1em;\n  font-weight: bold;\n  color: white;\n  background: var(--accent);\n  border-radius: 0 0.5em 0.5em 0;\n  cursor: pointer;\n  transition: 0.5s;\n  z-index: 1049;\n}\n\n\n.close-btn[_ngcontent-%COMP%] {\n  cursor: pointer;\n}\n.close-btn[_ngcontent-%COMP%]:hover {\n  text-decoration: none;\n}\n.chevron[_ngcontent-%COMP%] {\n  position: absolute;\n  right: 0;\n}\n\n.response-title[_ngcontent-%COMP%] {\n  font-size: 1.4em;\n  font-weight: bold;\n}\n.author-container[_ngcontent-%COMP%] {\n  padding: 1em 1em 1em 2em;\n  line-height: 1.2em;\n  border-bottom: 0.05em solid var(--lighter-grey);\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  cursor: pointer;\n}\n.author-container[_ngcontent-%COMP%]:hover {\n  background: var(--response-list-hover);\n}\n.header-table[_ngcontent-%COMP%] {\n  table-layout: fixed;\n  width: 100%;\n}\n.profile-pic-col[_ngcontent-%COMP%] {\n  width: 2.5em;
12705\n}\n.author-col[_ngcontent-%COMP%] {\n  left: 1em;\n  padding-left: 1em;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.profile-pic-container[_ngcontent-%COMP%] {\n  background: white;\n  height: 2.5em;\n  width: 2.5em;\n  border-radius: 100%;\n}\n.author-name[_ngcontent-%COMP%] {\n  font-weight: bold;\n  font-size: 1em;\n  margin: 0.2em 0 0 0;\n  color: var(--dark);\n}\n.author-name[_ngcontent-%COMP%]:hover {\n  text-decoration: none;\n}\n.msg-header-date[_ngcontent-%COMP%] {\n  font-size: 0.7em;\n  margin: 0;\n}\n@media screen and (max-height: 450px) {\n  .sidenav[_ngcontent-%COMP%] {\n    padding-top: 15px;\n  }\n\n  .sidenav[_ngcontent-%COMP%]   a[_ngcontent-%COMP%] {\n    font-size: 18px;\n  }\n}\n\n\n.flashy-hamburger[_ngcontent-%COMP%] {\n  animation: FlashyHamburger 2s ease infinite;\n}\n@keyframes FlashyHamburger {\n  0% {\n    transform: translate(0, 0);\n    width: 2em;\n  }\n  50% {\n    transform: translate(1em, 0);\n    width: 3em;\n  }\n  100% {\n    transform: translate(0, 0);\n    width: 2em;\n  }\n}\n\n\n.flashy-hamburger-mobile[_ngcontent-%COMP%] {\n  animation: FlashyHamburgerMobile 2s ease infinite;\n}\n@keyframes FlashyHamburgerMobile {\n  0% {\n    transform: translate(0, 0);\n    width: 2em;\n  }\n  50% {\n    transform: translate(0.4em, 0);\n    width: 3em;\n  }\n  100% {\n    transform: translate(0, 0);\n    width: 2em;\n  }\n}\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar {\n  width: 0.2em;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n  opacity: 0;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n  background: var(--scrollbar-thumb);\n  opacity: 0.1;\n  border-radius: 1em;\n}\n.subtle-link[_ngcontent-%COMP%], .subtle-link[_ngcontent-%COMP%]:hover {\n  color: #000000;\n  text-decoration: none;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc3BvbnNlcy1saXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZTtBQUNmLG9EQUFvRDtBQUNwRDtFQUNFLHlDQUF5QztFQUN6QyxlQUFlO0VBQ2YsV0FBVztFQUNYLG9EQUFvRDtFQUNwRCxhQUFhO0VBQ2IsZ0JBQWdCO0FBQ2xCO0FBRUEsbUJBQW1CO0FBQ25CO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWix1QkFBdUI7RUFDdkIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixhQUFhO0FBQ2Y7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFdBQVc7RUFDWCxlQUFlO0VBQ2YsaUJBQWlCO0FBQ25CO0FBRUEscUJBQXFCO0FBQ3JCO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxVQUFVO0VBQ1YsUUFBUTtFQUNSLFdBQVc7RUFDWCxjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLFlBQVk7RUFDWix5QkFBeUI7RUFDekIsOEJBQThCO0VBQzlCLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsYUFBYTtBQUNmO0FBRUE7RUFDRSw0QkFBNEI7RUFDNUIsVUFBVTtFQUNWLGdCQUFnQjtBQUNsQjtBQUVBLGtDQUFrQztBQUNsQztFQUNFLE9BQU87QUFDVDtBQUVBLGNBQWM7QUFFZDtFQUNFLHlDQUF5QztFQUN6QyxlQUFlO0VBQ2YsWUFBWTtFQUNaLG9EQUFvRDtFQUNwRCxhQUFhO0VBQ2IsZ0JBQWdCO0FBQ2xCO0FBRUEsbUJBQW1CO0FBQ25CO0VBQ0UsWUFBWTtFQUNaLFlBQVk7RUFDWix1QkFBdUI7RUFDdkIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixhQUFhO0FBQ2Y7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFdBQVc7RUFDWCxlQUFlO0VBQ2YsaUJBQWlCO0FBQ25CO0FBRUEsa0NBQWtDO0FBQ2xDO0VBQ0UsUUFBUTtBQUNWO0FBRUEscUJBQXFCO0FBQ3JCO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxVQUFVO0VBQ1YsUUFBUTtFQUNSLFdBQVc7RUFDWCxjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLFlBQVk7RUFDWix5QkFBeUI7RUFDekIsOEJBQThCO0VBQzlCLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsYUFBYTtBQUNmO0FBRUEsY0FBYztBQUNkLFlBQVk7QUFDWjtFQUNFLGVBQWU7QUFDakI7QUFFQTtFQUNFLHFCQUFxQjtBQUN2QjtBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLFFBQVE7QUFDVjtBQUVBLGtCQUFrQjtBQUNsQjtFQUNFLGdCQUFnQjtFQUNoQixpQkFBaUI7QUFDbkI7QUFFQTtFQUNFLHdCQUF3QjtFQUN4QixrQkFBa0I7RUFDbEIsK0NBQStDO0VBQy9DLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLGVBQWU7QUFDakI7QUFFQTtFQUNFLHNDQUFzQztBQUN4QztBQUVBO0VBQ0UsbUJBQW1CO0VBQ25CLFdBQVc7QUFDYjtBQUVBO0VBQ0UsWUFBWTtBQUNkO0FBRUE7RUFDRSxTQUFTO0VBQ1QsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsbUJBQW1CO0FBQ3JCO0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsYUFBYTtFQUNiLFlBQVk7RUFDWixtQkFBbUI7QUFDckI7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLGtCQUFrQjtBQUNwQjtBQUVBO0VBQ0UscUJBQXFCO0FBQ3ZCO0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsU0FBUztBQUNYO0FBRUE7RUFDRTtJQUNFLGlCQUFpQjtFQUNuQjs7RUFFQTtJQUNFLGVBQWU7RUFDakI7QUFDRjtBQUVBLHdEQUF3RDtBQUN4RCwrQkFBK0I7QUFDL0I7RUFHRSwyQ0FBMkM7QUFDN0M7QUFnQ0E7RUFDRTtJQUNFLDBCQUEwQjtJQUMxQixVQUFVO0VBQ1o7RUFDQTtJQUNFLDRCQUE0QjtJQUM1QixVQUFVO0VBQ1o7RUFDQTtJQUNFLDBCQUEwQjtJQUMxQixVQUFVO0VBQ1o7QUFDRjtBQUVBLHdEQUF3RDtBQUN4RCwrQkFBK0I7QUFDL0I7RUFHRSxpRE
12705FBaUQ7QUFDbkQ7QUFnQ0E7RUFDRTtJQUNFLDBCQUEwQjtJQUMxQixVQUFVO0VBQ1o7RUFDQTtJQUNFLDhCQUE4QjtJQUM5QixVQUFVO0VBQ1o7RUFDQTtJQUNFLDBCQUEwQjtJQUMxQixVQUFVO0VBQ1o7QUFDRjtBQUVBLGlCQUFpQjtBQUNqQixVQUFVO0FBQ1Y7RUFDRSxZQUFZO0FBQ2Q7QUFFQSxVQUFVO0FBQ1Y7RUFDRSxVQUFVO0FBQ1o7QUFFQSxXQUFXO0FBQ1g7RUFDRSxrQ0FBa0M7RUFDbEMsWUFBWTtFQUNaLGtCQUFrQjtBQUNwQjtBQUVBOztFQUVFLGNBQWM7RUFDZCxxQkFBcUI7QUFDdkIiLCJmaWxlIjoicmVzcG9uc2VzLWxpc3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHx8IERFU0tUT1AgKi9cbi8qIFNpZGUgbmF2IGNvbnRhaW5lciAtIGhvdXNlcyBsaXN0IGFuZCB0YWIgYnV0dG9uICovXG4uc2lkZS1uYXYtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1uYXZiYXItaGVpZ2h0KSk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogLTI1ZW07XG4gIC8qIHotaW5kZXggb2YgMTA1MSBpcyB0aGUgbGV2ZWwgdGhhdCBtb2RhbHMgYXBwZWFyICovXG4gIHotaW5kZXg6IDEwNTA7XG4gIHRyYW5zaXRpb246IDAuNXM7XG59XG5cbi8qIExpc3QgY29tcG9uZW50ICovXG4uc2lkZW5hdiB7XG4gIHdpZHRoOiAyNWVtO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiAyZW07XG4gIHotaW5kZXg6IDEwNTA7XG59XG5cbi5zaWRlbmF2IC5jbG9zZS1idG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiB2YXIoLS1kYXJrKTtcbiAgdG9wOiAwO1xuICByaWdodDogMjVweDtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBtYXJnaW4tbGVmdDogNTBweDtcbn1cblxuLyogQnV0dG9uIGNvbXBvbmVudCAqL1xuLmhhbWJ1cmdlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiA2ZW07XG4gIHdpZHRoOiAyZW07XG4gIHRvcDogMmVtO1xuICByaWdodDogLTJlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC41ZW0gMC41ZW0gMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiAwLjVzO1xuICB6LWluZGV4OiAxMDQ5O1xufVxuXG4uaGFtYnVyZ2VyOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMWVtLCAwKTtcbiAgd2lkdGg6IDNlbTtcbiAgdHJhbnNpdGlvbjogMC41cztcbn1cblxuLyogQ29uZGl0aW9uYWxseS1hY3RpdmF0ZWQgY2xhc3MgKi9cbi5uYXYtb3BlbiB7XG4gIGxlZnQ6IDA7XG59XG5cbi8qIHx8IE1PQklMRSAqL1xuXG4uc2lkZS1uYXYtY29udGFpbmVyLW1vYmlsZSB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tbmF2YmFyLWhlaWdodCkpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAxMDB2dztcbiAgLyogei1pbmRleCBvZiAxMDUxIGlzIHRoZSBsZXZlbCB0aGF0IG1vZGFscyBhcHBlYXIgKi9cbiAgei1pbmRleDogMTA1MDtcbiAgdHJhbnNpdGlvbjogMC41cztcbn1cblxuLyogTGlzdCBjb21wb25lbnQgKi9cbi5zaWRlbmF2LW1vYmlsZSB7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogMmVtO1xuICB6LWluZGV4OiAxMDUwO1xufVxuXG4uc2lkZW5hdi1tb2JpbGUgLmNsb3NlLWJ0biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IHZhcigtLWRhcmspO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAyNXB4O1xuICBmb250LXNpemU6IDM2cHg7XG4gIG1hcmdpbi1sZWZ0OiA1MHB4O1xufVxuXG4vKiBDb25kaXRpb25hbGx5LWFjdGl2YXRlZCBjbGFzcyAqL1xuLm5hdi1tb2JpbGUtb3BlbiB7XG4gIHJpZ2h0OiAwO1xufVxuXG4vKiBCdXR0b24gY29tcG9uZW50ICovXG4uaGFtYnVyZ2VyLW1vYmlsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAzZW07XG4gIHdpZHRoOiAyZW07XG4gIHRvcDogM2VtO1xuICByaWdodDogLTJlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC41ZW0gMC41ZW0gMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiAwLjVzO1xuICB6LWluZGV4OiAxMDQ5O1xufVxuXG4vKiB8fCBTSEFSRUQgKi9cbi8qIEJ1dHRvbnMgKi9cbi5jbG9zZS1idG4ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jbG9zZS1idG46aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jaGV2cm9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbn1cblxuLyogTGlzdCBjb250ZW50cyAqL1xuLnJlc3BvbnNlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hdXRob3ItY29udGFpbmVyIHtcbiAgcGFkZGluZzogMWVtIDFlbSAxZW0gMmVtO1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIGJvcmRlci1ib3R0b206IDAuMDVlbSBzb2xpZCB2YXIoLS1saWdodGVyLWdyZXkpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYXV0aG9yLWNvbnRhaW5lcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXJlc3BvbnNlLWxpc3QtaG92ZXIpO1xufVxuXG4uaGVhZGVyLXRhYmxlIHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9maWxlLXBpYy1jb2wge1xuICB3aWR0aDogMi41ZW07XG59XG5cbi5hdXRob3ItY29sIHtcbiAgbGVmdDogMWVtO1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5wcm9maWxlLXBpYy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgaGVpZ2h0OiAyLjVlbTtcbiAgd2lkdGg6IDIuNWVtO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4uYXV0aG9yLW5hbWUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxZW07XG4gIG1hcmdpbjogMC4yZW0gMCAwIDA7XG4gIGNvbG9yOiB2YXIoLS1kYXJrKTtcbn1cblxuLmF1dGhvci1uYW1lOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubXNnLWhlYWRlci1kYXRlIHt
12705cbiAgZm9udC1zaXplOiAwLjdlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNDUwcHgpIHtcbiAgLnNpZGVuYXYge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICB9XG5cbiAgLnNpZGVuYXYgYSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG59XG5cbi8qIFN1cHJlc3Mgd2FybmluZyBmb3IgY29uZGl0aW9uYWxseS1hcHBsaWVkIENTUyBjbGFzcyAqL1xuLypub2luc3BlY3Rpb24gQ3NzVW51c2VkU3ltYm9sKi9cbi5mbGFzaHktaGFtYnVyZ2VyIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IEZsYXNoeUhhbWJ1cmdlciAycyBlYXNlIGluZmluaXRlO1xuICAtbW96LWFuaW1hdGlvbjogRmxhc2h5SGFtYnVyZ2VyIDJzIGVhc2UgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogRmxhc2h5SGFtYnVyZ2VyIDJzIGVhc2UgaW5maW5pdGU7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBGbGFzaHlIYW1idXJnZXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgd2lkdGg6IDJlbTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFlbSwgMCk7XG4gICAgd2lkdGg6IDNlbTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB3aWR0aDogMmVtO1xuICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBGbGFzaHlIYW1idXJnZXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgd2lkdGg6IDJlbTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFlbSwgMCk7XG4gICAgd2lkdGg6IDNlbTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB3aWR0aDogMmVtO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgRmxhc2h5SGFtYnVyZ2VyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIHdpZHRoOiAyZW07XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxZW0sIDApO1xuICAgIHdpZHRoOiAzZW07XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgd2lkdGg6IDJlbTtcbiAgfVxufVxuXG4vKiBTdXByZXNzIHdhcm5pbmcgZm9yIGNvbmRpdGlvbmFsbHktYXBwbGllZCBDU1MgY2xhc3MgKi9cbi8qbm9pbnNwZWN0aW9uIENzc1VudXNlZFN5bWJvbCovXG4uZmxhc2h5LWhhbWJ1cmdlci1tb2JpbGUge1xuICAtd2Via2l0LWFuaW1hdGlvbjogRmxhc2h5SGFtYnVyZ2VyTW9iaWxlIDJzIGVhc2UgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiBGbGFzaHlIYW1idXJnZXJNb2JpbGUgMnMgZWFzZSBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBGbGFzaHlIYW1idXJnZXJNb2JpbGUgMnMgZWFzZSBpbmZpbml0ZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIEZsYXNoeUhhbWJ1cmdlck1vYmlsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB3aWR0aDogMmVtO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMC40ZW0sIDApO1xuICAgIHdpZHRoOiAzZW07XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgd2lkdGg6IDJlbTtcbiAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgRmxhc2h5SGFtYnVyZ2VyTW9iaWxlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIHdpZHRoOiAyZW07XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLjRlbSwgMCk7XG4gICAgd2lkdGg6IDNlbTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB3aWR0aDogMmVtO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgRmxhc2h5SGFtYnVyZ2VyTW9iaWxlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIHdpZHRoOiAyZW07XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLjRlbSwgMCk7XG4gICAgd2lkdGg6IDNlbTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB3aWR0aDogMmVtO1xuICB9XG59XG5cbi8qIHx8IFNDUk9MTEJBUiAqL1xuLyogd2lkdGggKi9cbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogMC4yZW07XG59XG5cbi8qIFRyYWNrICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLyogSGFuZGxlICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLXRodW1iKTtcbiAgb3BhY2l0eTogMC4xO1xuICBib3JkZXItcmFkaXVzOiAxZW07XG59XG5cbi5zdWJ0bGUtbGluayxcbi5zdWJ0bGUtbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4iXX0= */"]
12706      });
12707      /***/
12708    },
12709
12710    /***/
12711    60189:
12712    /*!**************************************************************************!*\
12713      !*** ./src/app/pages/viewing/single-message/single-message.component.ts ***!
12714      \**************************************************************************/
12715
12716    /***/
12717    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
12718      "use strict";
12719
12720      __webpack_require__.r(__webpack_exports__);
12721      /* harmony export */
12722
12723
12724      __webpack_require__.d(__webpack_exports__, {
12725        /* harmony export */
12726        "SingleMessageComponent": function SingleMessageComponent() {
12727          return (
12728            /* binding */
12729            _SingleMessageComponent
12730          );
12731        }
12732        /* harmony export */
12733
12734      });
12735      /* harmony import */
12736
12737
12738      var _core_common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
12739      /*! ../../../core/common.service */
12740      80150);
12741      /* harmony import */
12742
12743
12744      var firebase_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
12745      /*! firebase/app */
12746      42329);
12747      /* harmony import */
12748
12749
12750      var firebase_firestore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
12751      /*! firebase/firestore */
12752      72491);
12753      /* harmony import */
12754
12755
12756      var _shared_interfaces_messages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
12757      /*! ../../../shared/interfaces/messages */
12758      38031);
12759      /* harmony import */
12760
12761
12762      var _angular_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
12763      /*! @angular/core */
12764      37716);
12765      /* harmony import */
12766
12767
12768      var _core_viewing_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
12769      /*! ../../../core/viewing.service */
12770      91225);
12771      /* harmony import */
12772
12773
12774      var _angular_router__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(
12775      /*! @angular/router */
12776      39895);
12777      /* harmony import */
12778
12779
12780      var ngx_toastr__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(
12781      /*! ngx-toastr */
12782      49344);
12783      /* harmony import */
12784
12785
12786      var _angular_common__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(
12787      /*! @angular/common */
12788      38583);
12789      /* harmony import */
12790
12791
12792      var _core_msg_io_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
12793      /*! ../../../core/msg-io.service */
12794      84468);
12795      /* harmony import */
12796
12797
12798      var ngx_markdown__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(
12799      /*! ngx-markdown */
12800      76715);
12801      /* harmony import */
12802
12803
12804      var _shared_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
12805      /*! ../../../shared/components/inline-images/inline-images.component */
12806      72321);
12807
12808      var firestore = firebase_app__WEBPACK_IMPORTED_MODULE_1__["default"].firestore;
12809      var Timestamp = firestore.Timestamp;
12810
12811      function SingleMessageComponent_app_inline_images_14_Template(rf, ctx) {
12812        if (rf & 1) {
12813          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](0, "app-inline-images", 12);
12814        }
12815
12816        if (rf & 2) {
12817          var ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"]();
12818
12819          _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("images", ctx_r0.singleMessage.images);
12820        }
12821      }
12822
12823      var _c0 = function _c0(a0, a1, a2) {
12824        return {
12825          background: a0,
12826          color: a1,
12827          "font-family": a2
12828        };
12829      };
12830
12831      var _SingleMessageComponent = /*#__PURE__*/function () {
12832        function _SingleMessageComponent(viewService, route, router, toastr, location, msgIOService) {
12833          var _this22 = this;
12834
12835          _classCallCheck(this, _SingleMessageComponent);
12836
12837          this.viewService = viewService;
12838          this.route = route;
12839          this.router = router;
12840          this.toastr = toastr;
12841          this.location = location;
12842          this.msgIOService = msgIOService;
12843          this.showCloseButton = false;
12844          this.singleMessage = Object.assign(Object.assign({}, new _shared_interfaces_messages__WEBPACK_IMPORTED_MODULE_3__.VirtrolioMessageTemplate()), {
12845            from: '',
12846            fromName: '',
12847            fromPic: '',
12848            isRead: false,
12849            key: '',
12850            timestamp: new Timestamp(0, 0),
12851            year: 0,
12852            id: ''
12853          });
12854          this.singleMessage.contents = 'Message is loading...';
12855          this.singleMessage.backColor = '#FFFFFF';
12856          this.singleMessage.fontColor = '#000000';
12857          this.singleMessage.fontFamily = 'Arial';
12858          this.route.queryParams.subscribe(function (params) {
12859            _this22.currentMessageId = params.messageId;
12860          });
12861
12862          if (this.route.snapshot.queryParams.showBookmarkAlert) {
12863            this.toastr.info('This page can now be bookmarked so you can view this message later!', 'Bookmark', {
12864              positionClass: 'toast-bottom-full-width'
12865            });
12866            this.showCloseButton = true;
12867            this.location.go('/viewing', '?messageId=' + this.currentMessageId);
12868          }
12869        }
12870
12871        _createClass(_SingleMessageComponent, [{
12872          key: "ngOnInit",
12873          value: function ngOnInit() {
12874            var _this23 = this;
12875
12876            this.viewService.msgIo.getMessage(this.currentMessageId).subscribe(function (message) {
12877              try {
12878                _this23.viewService.msgIo.verifyMessage(message);
12879
12880                _this23.singleMessage = message;
12881              } catch (e) {
12882                _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e); // noinspection JSIgnoredPromiseFromCall
12883
12884
12885                _this23.router.navigate(['/viewing']);
12886              }
12887            });
12888          }
12889          /**
12890           * Go to 'all messages' view
12891           */
12892
12893        }, {
12894          key: "goToMessages",
12895          value: function goToMessages() {
12896            this.router.navigate(['/viewing']).then(function () {
12897              window.location.reload();
12898            });
12899          }
12900        }]);
12901
12902        return _SingleMessageComponent;
12903      }();
12904
12905      _SingleMessageComponent.ɵfac = function SingleMessageComponent_Factory(t) {
12906        return new (t || _SingleMessageComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_core_viewing_service__WEBPACK_IMPORTED_MODULE_4__.ViewingService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_8__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_8__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](ngx_toastr__WEBPACK_IMPORTED_MODULE_9__.ToastrService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_angular_common__WEBPACK_IMPORTED_MODULE_10__.Location), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_core_msg_io_service__WEBPACK_IMPORTED_MODULE_5__.MsgIoService));
12907      };
12908
12909      _SingleMessageComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdefineComponent"]({
12910        type: _SingleMessageComponent,
12911        selectors: [["app-single-message"]],
12912        decls: 15,
12913        vars: 10,
12914        consts: [[1, "row", "justify-content-center", "py-5"], [1, "single-message-view", "col-12", "col-sm-12", "col-md-8", "col-lg-8", "col-xl-8"], [1, "author-card"], [1, "profile-pic-container-small"], ["alt", "profile-pic", 1, "profile-pic", 3, "src"], [1, "author-card", "mb-3"], [1, "msg-header-text"], [1, "msg-header-date"], [1, "card", "shadow", "message-card"], [1, "card-body", "message-card", "message", 3, "ngStyle"], ["emoji", "", 3, "data"], [3, "images", 4, "ngIf"], [3, "images"]],
12915        template: function SingleMessageComponent_Template(rf, ctx) {
12916          if (rf & 1) {
12917            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 0);
12918
12919            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](1, "div", 1);
12920
12921            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](2, "div", 2);
12922
12923            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](3, "span", 3);
12924
12925            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](4, "img", 4);
12926
12927            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
12928
12929            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
12930
12931            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](5, "div", 5);
12932
12933            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](6, "table");
12934
12935            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](7, "tr", 6);
12936
12937            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](8);
12938
12939            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
12940
12941            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](9, "tr", 7);
12942
12943            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](10);
12944
12945            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
12946
12947            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
12948
12949            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
12950
12951            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](11, "div", 8);
12952
12953            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](12, "div", 9);
12954
12955            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](13, "markdown", 10);
12956
12957            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](14, SingleMessageComponent_app_inline_images_14_Template, 1, 1, "app-inline-images", 11);
12958
12959            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
12960
12961            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
12962
12963            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
12964
12965            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
12966          }
12967
12968          if (rf & 2) {
12969            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](4);
12970
12971            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", ctx.singleMessage.fromPic, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]);
12972
12973            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](4);
12974
12975            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate1"](" ", ctx.singleMessage.fromName, " ");
12976
12977            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2);
12978
12979            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate1"](" ", ctx.singleMessage.timestamp.toDate().toDateString(), " ");
12980
12981            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2);
12982
12983            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction3"](6, _c0, ctx.singleMessage.backColor, ctx.singleMessage.fontColor, ctx.viewService.fonts[ctx.singleMessage.fontFamily].fontFamily + "," + ctx.viewService.fonts[ctx.singleMessage.fontFamily].backupFont));
12984
12985            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
12986
12987            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("data", ctx.viewService.decodeHtml(ctx.singleMessage.contents));
12988
12989            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
12990
12991            _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", ctx.singleMessage.images);
12992          }
12993        },
12994        directives: [_angular_common__WEBPACK_IMPORTED_MODULE_10__.NgStyle, ngx_markdown__WEBPACK_IMPORTED_MODULE_11__.MarkdownComponent, _angular_common__WEBPACK_IMPORTED_MODULE_10__.NgIf, _shared_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_6__.InlineImagesComponent],
12995        styles: [".message-card[_ngcontent-%COMP%] {\n  width: 100%;\n  height: 70vh;\n}\n\n.author-card[_ngcontent-%COMP%] {\n  width: 100%;\n  height: auto;\n  display: flex;\n  justify-content: center;\n}\n\n.message-card[_ngcontent-%COMP%] {\n  background-color: var(--light-grey);\n  width: 100%;\n  word-break: break-word;\n  overflow-y: auto;\n}\n\n.msg-header-text[_ngcontent-%COMP%] {\n  font-weight: bold;\n  font-size: 1.6em;\n  max-width: 80vw;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  text-align: center;\n  white-space: nowrap;\n}\n\n.msg-header-date[_ngcontent-%COMP%] {\n  font-size: 1em;\n  max-width: 80vw;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  text-align: center;\n  white-space: nowrap;\n}\n\n.profile-pic-container-small[_ngcontent-%COMP%] {\n  background: rgba(255, 255, 255, 0);\n  height: 4.2em;\n  width: 4.2em;\n  border-radius: 100%;\n  display: flex;\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar {\n  width: 0.2em;\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n  opacity: 0;\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n  background: var(--scrollbar-thumb);\n  opacity: 0.1;\n  border-radius: 1em;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNpbmdsZS1tZXNzYWdlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFXO0VBQ1gsWUFBWTtBQUNkOztBQUVBO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixhQUFhO0VBQ2IsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsbUNBQW1DO0VBQ25DLFdBQVc7RUFDWCxzQkFBc0I7RUFDdEIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLHVC
12995QUF1QjtFQUN2QixrQkFBa0I7RUFDbEIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsdUJBQXVCO0VBQ3ZCLGtCQUFrQjtFQUNsQixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxrQ0FBa0M7RUFDbEMsYUFBYTtFQUNiLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsYUFBYTtBQUNmOztBQUVBLFVBQVU7O0FBQ1Y7RUFDRSxZQUFZO0FBQ2Q7O0FBRUEsVUFBVTs7QUFDVjtFQUNFLFVBQVU7QUFDWjs7QUFFQSxXQUFXOztBQUNYO0VBQ0Usa0NBQWtDO0VBQ2xDLFlBQVk7RUFDWixrQkFBa0I7QUFDcEIiLCJmaWxlIjoic2luZ2xlLW1lc3NhZ2UuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tZXNzYWdlLWNhcmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA3MHZoO1xufVxuXG4uYXV0aG9yLWNhcmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm1lc3NhZ2UtY2FyZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LWdyZXkpO1xuICB3aWR0aDogMTAwJTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm1zZy1oZWFkZXItdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEuNmVtO1xuICBtYXgtd2lkdGg6IDgwdnc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5tc2ctaGVhZGVyLWRhdGUge1xuICBmb250LXNpemU6IDFlbTtcbiAgbWF4LXdpZHRoOiA4MHZ3O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucHJvZmlsZS1waWMtY29udGFpbmVyLXNtYWxsIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgaGVpZ2h0OiA0LjJlbTtcbiAgd2lkdGg6IDQuMmVtO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vKiB3aWR0aCAqL1xuOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiAwLjJlbTtcbn1cblxuLyogVHJhY2sgKi9cbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBvcGFjaXR5OiAwO1xufVxuXG4vKiBIYW5kbGUgKi9cbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zY3JvbGxiYXItdGh1bWIpO1xuICBvcGFjaXR5OiAwLjE7XG4gIGJvcmRlci1yYWRpdXM6IDFlbTtcbn1cbiJdfQ== */"]
12996      });
12997      /***/
12998    },
12999
13000    /***/
13001    68106:
13002    /*!****************************************************!*\
13003      !*** ./src/app/pages/viewing/viewing.component.ts ***!
13004      \****************************************************/
13005
13006    /***/
13007    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
13008      "use strict";
13009
13010      __webpack_require__.r(__webpack_exports__);
13011      /* harmony export */
13012
13013
13014      __webpack_require__.d(__webpack_exports__, {
13015        /* harmony export */
13016        "ViewingComponent": function ViewingComponent() {
13017          return (
13018            /* binding */
13019            _ViewingComponent
13020          );
13021        }
13022        /* harmony export */
13023
13024      });
13025      /* harmony import */
13026
13027
13028      var firebase_app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
13029      /*! firebase/app */
13030      42329);
13031      /* harmony import */
13032
13033
13034      var firebase_firestore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
13035      /*! firebase/firestore */
13036      72491);
13037      /* harmony import */
13038
13039
13040      var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
13041      /*! @angular/core */
13042      37716);
13043      /* harmony import */
13044
13045
13046      var _angular_router__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
13047      /*! @angular/router */
13048      39895);
13049      /* harmony import */
13050
13051
13052      var _core_viewing_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
13053      /*! ../../core/viewing.service */
13054      91225);
13055      /* harmony import */
13056
13057
13058      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(
13059      /*! @angular/platform-browser */
13060      39075);
13061      /* harmony import */
13062
13063
13064      var _angular_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(
13065      /*! @angular/common */
13066      38583);
13067      /* harmony import */
13068
13069
13070      var _single_message_single_message_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
13071      /*! ./single-message/single-message.component */
13072      60189);
13073      /* harmony import */
13074
13075
13076      var _responses_list_responses_list_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
13077      /*! ./responses-list/responses-list.component */
13078      39161);
13079      /* harmony import */
13080
13081
13082      var _messages_messages_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
13083      /*! ./messages/messages.component */
13084      2360);
13085
13086      var firestore = firebase_app__WEBPACK_IMPORTED_MODULE_0__["default"].firestore;
13087      var Timestamp = firestore.Timestamp;
13088
13089      function ViewingComponent_div_0_Template(rf, ctx) {
13090        if (rf & 1) {
13091          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "div");
13092
13093          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](1, "div", 2);
13094
13095          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelement"](2, "app-single-message");
13096
13097          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
13098
13099          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
13100        }
13101      }
13102
13103      function ViewingComponent_ng_template_1_div_5_Template(rf, ctx) {
13104        if (rf & 1) {
13105          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "div", 8);
13106
13107          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](1, "p", 9);
13108
13109          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](2, " \u26A0 One of your messages isn't being shown because it does not conform to the message requirements. ");
13110
13111          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](3, "a", 10);
13112
13113          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](4, "Contact Us");
13114
13115          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
13116
13117          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](5, " if you see this message. ");
13118
13119          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
13120
13121          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
13122        }
13123      }
13124
13125      function ViewingComponent_ng_template_1_div_6_Template(rf, ctx) {
13126        if (rf & 1) {
13127          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "div", 8);
13128
13129          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](1, "p", 9);
13130
13131          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](2);
13132
13133          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](3, "a", 10);
13134
13135          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](4, "Contact Us");
13136
13137          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
13138
13139          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](5, " if you see this message. ");
13140
13141          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
13142
13143          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
13144        }
13145
13146        if (rf & 2) {
13147          var ctx_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"](2);
13148
13149          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](2);
13150
13151          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtextInterpolate1"](" \u26A0 ", ctx_r4.invalidMessageCount, " of your messages are not being shown because they do not conform to the message requirements. ");
13152        }
13153      }
13154
13155      function ViewingComponent_ng_template_1_Template(rf, ctx) {
13156        if (rf & 1) {
13157          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "div", 2);
13158
13159          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelement"](1, "app-responses-list", 3);
13160
13161          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](2, "div", 4);
13162
13163          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](3, "div", 5);
13164
13165          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelement"](4, "app-messages", 6);
13166
13167          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplate"](5, ViewingComponent_ng_template_1_div_5_Template, 6, 0, "div", 7);
13168
13169          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplate"](6, ViewingComponent_ng_template_1_div_6_Template, 6, 1, "div", 7);
13170
13171          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
13172
13173          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
13174
13175          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
13176        }
13177
13178        if (rf & 2) {
13179          var ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"]();
13180
13181          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](1);
13182
13183          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("setMessageList", ctx_r2.messageList);
13184
13185          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](3);
13186
13187          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("setMessageList", ctx_r2.messageList)("setIsLoading", ctx_r2.isLoading);
13188
13189          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](1);
13190
13191          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("ngIf", ctx_r2.invalidMessageCount == 1);
13192
13193          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](1);
13194
13195          _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("ngIf", ctx_r2.invalidMessageCount > 1);
13196        }
13197      }
13198
13199      var _ViewingComponent = /*#__PURE__*/function () {
13200        function _ViewingComponent(route, viewService, title) {
13201          _classCallCheck(this, _ViewingComponent);
13202
13203          this.route = route;
13204          this.viewService = viewService;
13205          this.title = title;
13206          this.isLoading = true;
13207          this.isSingleMessageView = false;
13208          this.invalidMessageCount = 0;
13209        }
13210
13211        _createClass(_ViewingComponent, [{
13212          key: "ngOnInit",
13213          value: function ngOnInit() {
13214            var _this24 = this;
13215
13216            this.title.setTitle('View Your Messages | Virtrolio'); // Determine if the viewing link has messageId query param
13217
13218            if (this.route.snapshot.queryParams.messageId) {
13219              this.isSingleMessageView = true;
13220            }
13221
13222            this.viewService.msgIo.getMessages().subscribe(function (messages) {
13223              // Get the current time to use as time since reference
13224              _this24.viewService.nowMillis = Timestamp.now().toMillis(); // Clear the messageList
13225
13226              _this24.messageList = [];
13227              messages.forEach(function (message) {
13228                try {
13229                  // Add message to messageList if verifyMessage succeeds
13230                  _this24.viewService.msgIo.verifyMessage(message);
13231
13232                  _this24.messageList.push(message);
13233                } catch (e) {
13234                  _this24.invalidMessageCount += 1;
13235                }
13236              });
13237              _this24.isLoading = false;
13238            });
13239          }
13240        }]);
13241
13242        return _ViewingComponent;
13243      }();
13244
13245      _ViewingComponent.ɵfac = function ViewingComponent_Factory(t) {
13246        return new (t || _ViewingComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_7__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdirectiveInject"](_core_viewing_service__WEBPACK_IMPORTED_MODULE_2__.ViewingService), _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_8__.Title));
13247      };
13248
13249      _ViewingComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdefineComponent"]({
13250        type: _ViewingComponent,
13251        selectors: [["app-viewing"]],
13252        decls: 3,
13253        vars: 2,
13254        consts: [[4, "ngIf", "ngIfElse"], ["allMessages", ""], [1, "container"], [3, "setMessageList"], [1, "row", "justify-content-center"], [1, "col-12"], [3, "setMessageList", "setIsLoading"], ["class", "pt-3", 4, "ngIf"], [1, "pt-3"], [1, "invalid-msg-warning"], ["href", "https://virtrolio.web.app/contact"]],
13255        template: function ViewingComponent_Template(rf, ctx) {
13256          if (rf & 1) {
13257            _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplate"](0, ViewingComponent_div_0_Template, 3, 0, "div", 0);
13258
13259            _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplate"](1, ViewingComponent_ng_template_1_Template, 7, 5, "ng-template", null, 1, _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplateRefExtractor"]);
13260          }
13261
13262          if (rf & 2) {
13263            var _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵreference"](2);
13264
13265            _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("ngIf", ctx.isSingleMessageView)("ngIfElse", _r1);
13266          }
13267        },
13268        directives: [_angular_common__WEBPACK_IMPORTED_MODULE_9__.NgIf, _single_message_single_message_component__WEBPACK_IMPORTED_MODULE_3__.SingleMessageComponent, _responses_list_responses_list_component__WEBPACK_IMPORTED_MODULE_4__.ResponsesListComponent, _messages_messages_component__WEBPACK_IMPORTED_MODULE_5__.MessagesComponent],
13269        styles: [".invalid-msg-warning[_ngcontent-%COMP%] {\n  color: var(--light-grey);\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZpZXdpbmcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHdCQUF3QjtB
13269QUMxQiIsImZpbGUiOiJ2aWV3aW5nLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaW52YWxpZC1tc2ctd2FybmluZyB7XG4gIGNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcbn1cbiJdfQ== */"]
13270      });
13271      /***/
13272    },
13273
13274    /***/
13275    72321:
13276    /*!****************************************************************************!*\
13277      !*** ./src/app/shared/components/inline-images/inline-images.component.ts ***!
13278      \****************************************************************************/
13279
13280    /***/
13281    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
13282      "use strict";
13283
13284      __webpack_require__.r(__webpack_exports__);
13285      /* harmony export */
13286
13287
13288      __webpack_require__.d(__webpack_exports__, {
13289        /* harmony export */
13290        "InlineImagesComponent": function InlineImagesComponent() {
13291          return (
13292            /* binding */
13293            _InlineImagesComponent
13294          );
13295        }
13296        /* harmony export */
13297
13298      });
13299      /* harmony import */
13300
13301
13302      var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
13303      /*! @angular/core */
13304      37716);
13305      /* harmony import */
13306
13307
13308      var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
13309      /*! @angular/common */
13310      38583);
13311      /* harmony import */
13312
13313
13314      var _angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
13315      /*! @angular/fire/storage */
13316      68274);
13317
13318      function InlineImagesComponent_div_0_Template(rf, ctx) {
13319        if (rf & 1) {
13320          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 1);
13321
13322          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div");
13323
13324          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "a", 2);
13325
13326          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipe"](3, "getDownloadURL");
13327
13328          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](4, "img", 3);
13329
13330          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipe"](5, "getDownloadURL");
13331
13332          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](6, "div", 4);
13333
13334          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](7, "img", 5);
13335
13336          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
13337
13338          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
13339
13340          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
13341
13342          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
13343        }
13344
13345        if (rf & 2) {
13346          var image_r1 = ctx.$implicit;
13347
13348          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](2);
13349
13350          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("href", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipeBind1"](3, 2, image_r1), _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵsanitizeUrl"]);
13351
13352          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](2);
13353
13354          _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("src", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipeBind1"](5, 4, image_r1), _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵsanitizeUrl"]);
13355        }
13356      }
13357
13358      var _InlineImagesComponent = /*#__PURE__*/function () {
13359        function _InlineImagesComponent() {
13360          _classCallCheck(this, _InlineImagesComponent);
13361        }
13362
13363        _createClass(_InlineImagesComponent, [{
13364          key: "ngOnInit",
13365          value: function ngOnInit() {}
13366        }]);
13367
13368        return _InlineImagesComponent;
13369      }();
13370
13371      _InlineImagesComponent.ɵfac = function InlineImagesComponent_Factory(t) {
13372        return new (t || _InlineImagesComponent)();
13373      };
13374
13375      _InlineImagesComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({
13376        type: _InlineImagesComponent,
13377        selectors: [["app-inline-images"]],
13378        inputs: {
13379          images: "images"
13380        },
13381        decls: 1,
13382        vars: 1,
13383        consts: [["class", "d-flex p-2 justify-content-center", 4, "ngFor", "ngForOf"], [1, "d-flex", "p-2", "justify-content-center"], ["target", "_blank", 1, "col", "p-0", "d-flex", "justify-content-center", 3, "href"], ["alt", "Virtrolio Message image", 1, "msg-footer-img", 3, "src"], [1, "msg-footer-img-overlay"], ["src", "../../../../assets/images/icons/external-link.svg", "alt", "Virtrolio Message image", 1, "external-link-icon"]],
13384        template: function InlineImagesComponent_Template(rf, ctx) {
13385          if (rf & 1) {
13386            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplate"](0, InlineImagesComponent_div_0_Template, 8, 6, "div", 0);
13387          }
13388
13389          if (rf & 2) {
13390            _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("ngForOf", ctx.images);
13391          }
13392        },
13393        directives: [_angular_common__WEBPACK_IMPORTED_MODULE_1__.NgForOf],
13394        pipes: [_angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__.GetDownloadURLPipe],
13395        styles: [".msg-footer[_ngcontent-%COMP%] {\n  height: 7em;\n}\n\n.msg-footer-img[_ngcontent-%COMP%] {\n  width: 100%;\n  -o-object-fit: cover;\n     object-fit: cover;\n  transition: all linear 0.2s;\n}\n\n.msg-footer-img-overlay[_ngcontent-%COMP%] {\n  background-color: rgba(0, 0, 0, 0.5);\n  height: 100%;\n  width: 100%;\n  z-index: 10;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  position: absolute;\n  opacity: 0;\n  transition: all linear 0.2s;\n}\n\n.msg-footer-img-overlay[_ngcontent-%COMP%]:hover {\n  opacity: 100%;\n}\n\n.external-link-icon[_ngcontent-%COMP%] {\n  height: 2em;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImlubGluZS1pbWFnZXMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5QkFBeUI7O0FBRXpCO0VBQ0UsV0FBVztBQUNiOztBQUVBO0VBQ0UsV0FBVztFQUNYLG9CQUFpQjtLQUFqQixpQkFBaUI7RUFDakIsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0Usb0NBQW9DO0VBQ3BDLFlBQVk7RUFDWixXQUFXO0VBQ1gsV0FBVztFQUNYLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UsV0FBVztBQUNiIiwiZmlsZSI6ImlubGluZS1pbWFnZXMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIE1lc3NhZ2UgaW1hZ2UgZm9vdGVyICovXG5cbi5tc2ctZm9vdGVyIHtcbiAgaGVpZ2h0OiA3ZW07XG59XG5cbi5tc2ctZm9vdGVyLWltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgdHJhbnNpdGlvbjogYWxsIGxpbmVhciAwLjJzO1xufVxuXG4ubXNnLWZvb3Rlci1pbWctb3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW
133951zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCBsaW5lYXIgMC4ycztcbn1cblxuLm1zZy1mb290ZXItaW1nLW92ZXJsYXk6aG92ZXIge1xuICBvcGFjaXR5OiAxMDAlO1xufVxuXG4uZXh0ZXJuYWwtbGluay1pY29uIHtcbiAgaGVpZ2h0OiAyZW07XG59XG4iXX0= */"]
13396      });
13397      /***/
13398    },
13399
13400    /***/
13401    74743:
13402    /*!********************************************!*\
13403      !*** ./src/app/shared/interfaces/fonts.ts ***!
13404      \********************************************/
13405
13406    /***/
13407    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
13408      "use strict";
13409
13410      __webpack_require__.r(__webpack_exports__);
13411      /* harmony export */
13412
13413
13414      __webpack_require__.d(__webpack_exports__, {
13415        /* harmony export */
13416        "Font": function Font() {
13417          return (
13418            /* binding */
13419            _Font
13420          );
13421        }
13422        /* harmony export */
13423
13424      });
13425
13426      var _Font = function _Font(fontFamily, backupFont) {
13427        _classCallCheck(this, _Font);
13428
13429        this.fontFamily = fontFamily;
13430        this.backupFont = backupFont;
13431      };
13432      /***/
13433
13434    },
13435
13436    /***/
13437    38031:
13438    /*!***********************************************!*\
13439      !*** ./src/app/shared/interfaces/messages.ts ***!
13440      \***********************************************/
13441
13442    /***/
13443    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
13444      "use strict";
13445
13446      __webpack_require__.r(__webpack_exports__);
13447      /* harmony export */
13448
13449
13450      __webpack_require__.d(__webpack_exports__, {
13451        /* harmony export */
13452        "VirtrolioMessageTemplate": function VirtrolioMessageTemplate() {
13453          return (
13454            /* binding */
13455            _VirtrolioMessageTemplate
13456          );
13457        }
13458        /* harmony export */
13459
13460      });
13461      /* harmony import */
13462
13463
13464      var firebase_firestore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
13465      /*! firebase/firestore */
13466      72491);
13467
13468      var _VirtrolioMessageTemplate = function _VirtrolioMessageTemplate() {
13469        _classCallCheck(this, _VirtrolioMessageTemplate);
13470
13471        this.backColor = '';
13472        this.contents = '';
13473        this.fontColor = '';
13474        this.fontFamily = '';
13475        this.to = '';
13476      };
13477      /***/
13478
13479    },
13480
13481    /***/
13482    44466:
13483    /*!*****************************************!*\
13484      !*** ./src/app/shared/shared.module.ts ***!
13485      \*****************************************/
13486
13487    /***/
13488    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
13489      "use strict";
13490
13491      __webpack_require__.r(__webpack_exports__);
13492      /* harmony export */
13493
13494
13495      __webpack_require__.d(__webpack_exports__, {
13496        /* harmony export */
13497        "SharedModule": function SharedModule() {
13498          return (
13499            /* binding */
13500            _SharedModule
13501          );
13502        }
13503        /* harmony export */
13504
13505      });
13506      /* harmony import */
13507
13508
13509      var _angular_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
13510      /*! @angular/common */
13511      38583);
13512      /* harmony import */
13513
13514
13515      var _angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
13516      /*! @angular/fire/storage */
13517      68274);
13518      /* harmony import */
13519
13520
13521      var _components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
13522      /*! ./components/inline-images/inline-images.component */
13523      72321);
13524      /* harmony import */
13525
13526
13527      var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
13528      /*! @angular/core */
13529      37716);
13530
13531      var _SharedModule = function _SharedModule() {
13532        _classCallCheck(this, _SharedModule);
13533      };
13534
13535      _SharedModule.ɵfac = function SharedModule_Factory(t) {
13536        return new (t || _SharedModule)();
13537      };
13538
13539      _SharedModule.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineNgModule"]({
13540        type: _SharedModule
13541      });
13542      _SharedModule.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineInjector"]({
13543        imports: [[_angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__.AngularFireStorageModule, _angular_common__WEBPACK_IMPORTED_MODULE_3__.CommonModule]]
13544      });
13545
13546      (function () {
13547        (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsetNgModuleScope"](_SharedModule, {
13548          declarations: [_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_0__.InlineImagesComponent],
13549          imports: [_angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__.AngularFireStorageModule, _angular_common__WEBPACK_IMPORTED_MODULE_3__.CommonModule],
13550          exports: [_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_0__.InlineImagesComponent]
13551        });
13552      })();
13553      /***/
13554
13555    },
13556
13557    /***/
13558    89019:
13559    /*!**********************************************!*\
13560      !*** ./src/environments/environment.prod.ts ***!
13561      \**********************************************/
13562
13563    /***/
13564    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
13565      "use strict";
13566
13567      __webpack_require__.r(__webpack_exports__);
13568      /* harmony export */
13569
13570
13571      __webpack_require__.d(__webpack_exports__, {
13572        /* harmony export */
13573        "environment": function environment() {
13574          return (
13575            /* binding */
13576            _environment
13577          );
13578        }
13579        /* harmony export */
13580
13581      });
13582
13583      var _environment = {
13584        production: true,
13585        firebase: {
13586          apiKey: 'AIzaSyB4bucqAGYm0ZZi6xVawtXdA7pDvrcp4PU',
13587          authDomain: 'virtrolio.firebaseapp.com',
13588          databaseURL: 'https://virtrolio.firebaseio.com',
13589          projectId: 'virtrolio',
13590          storageBucket: 'virtrolio.appspot.com',
13591          messagingSenderId: '929821853702',
13592          appId: '1:929821853702:web:dfb4740eb6984e49f69b87',
13593          measurementId: 'G-BT5XXRVZXP'
13594        }
13595      };
13596      /***/
13597    },
13598
13599    /***/
13600    92340:
13601    /*!*****************************************!*\
13602      !*** ./src/environments/environment.ts ***!
13603      \*****************************************/
13604
13605    /***/
13606    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
13607      "use strict";
13608
13609      __webpack_require__.r(__webpack_exports__);
13610      /* harmony export */
13611
13612
13613      __webpack_require__.d(__webpack_exports__, {
13614        /* harmony export */
13615        "environment": function environment() {
13616          return (
13617            /* binding */
13618            _environment2
13619          );
13620        }
13621        /* harmony export */
13622
13623      }); // This file can be replaced during build by using the `fileReplacements` array.
13624      // `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
13625      // The list of file replacements can be found in `angular.json`.
13626      // noinspection SpellCheckingInspection
13627
13628
13629      var _environment2 = {
13630        production: false,
13631        firebase: {
13632          apiKey: 'AIzaSyB4bucqAGYm0ZZi6xVawtXdA7pDvrcp4PU',
13633          authDomain: 'virtrolio.firebaseapp.com',
13634          databaseURL: 'https://virtrolio.firebaseio.com',
13635          projectId: 'virtrolio',
13636          storageBucket: 'virtrolio.appspot.com',
13637          messagingSenderId: '929821853702',
13638          appId: '1:929821853702:web:dfb4740eb6984e49f69b87',
13639          measurementId: 'G-BT5XXRVZXP'
13640        }
13641      };
13642      /*
13643       * For easier debugging in development mode, you can import the following file
13644       * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
13645       *
13646       * This import should be commented out in production mode because it will have a negative impact
13647       * on performance if an error is thrown.
13648       */
13649      // import 'zone.js/plugins/zone-error';  // Included with Angular CLI.
13650
13651      /***/
13652    },
13653
13654    /***/
13655    14431:
13656    /*!*********************!*\
13657      !*** ./src/main.ts ***!
13658      \*********************/
13659
13660    /***/
13661    function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
13662      "use strict";
13663
13664      __webpack_require__.r(__webpack_exports__);
13665      /* harmony import */
13666
13667
13668      var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
13669      /*! @angular/platform-browser */
13670      39075);
13671      /* harmony import */
13672
13673
13674      var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
13675      /*! @angular/core */
13676      37716);
13677      /* harmony import */
13678
13679
13680      var _app_app_module__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
13681      /*! ./app/app.module */
13682      36747);
13683      /* harmony import */
13684
13685
13686      var _environments_environment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
13687      /*! ./environments/environment */
13688      92340);
13689
13690      if (_environments_environment__WEBPACK_IMPORTED_MODULE_1__.environment.production) {
13691        (0, _angular_core__WEBPACK_IMPORTED_MODULE_2__.enableProdMode)();
13692      }
13693
13694      _angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__.platformBrowser().bootstrapModule(_app_app_module__WEBPACK_IMPORTED_MODULE_0__.AppModule)["catch"](function (err) {
13695        return console.error(err);
13696      });
13697      /***/
13698
13699    },
13700
13701    /***/
13702    80925:
13703    /*!********************************************!*\
13704      !*** ./src/app/core/navbar/changelog.json ***!
13705      \********************************************/
13706
13707    /***/
13708    function _(module) {
13709      "use strict";
13710
13711      module.exports = JSON.parse('[{"versionNumber":"2.0.0","releaseDate":"2021-06-16","newMessageAvailable":true,"betaUpdate":false,"items":[{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Signing","content":"Add the ability to upload (not just embed!) 3 images in a message"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Add the ability to view attached images in all message views"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Add a spinner animation while loading messages"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Signing","content":"Add a spinner animation while a message is being uploaded"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Replace the crying emoji with more professional content and graphics when there are no messages to view 😭"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Revamp the graphics used throughout the website"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Add an underline to the current active page in the navbar"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Sitewide","content":"Prevent modals remaining open when navigating to a new page"}]},{"versionNumber":"1.2.1","releaseDate":"2020-12-31","betaUpdate":false,"items":[{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Since 2021 begins tomorrow, you can now sign each of your friend\'s virtrolios again for the new year."},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Add animations to most website components (most notably, popups)"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Viewing","content":"Fix navbar covering popup message cards"}]},{"versionNumber":"1.2.0","releaseDate":"2020-08-02","betaUpdate":false,"items":[{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Home","content":"Completely redesign the lower part of the homepage"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Home","content":"Add extra sign-in button at the bottom of the homepage"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Add bookmark button to cards view"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Add warning if invalid messages are detected"},{"type":"UPD","typeCSS":"changelog-upd","betaFlag":false,"location":"MyVirtrolio","content":"Update title and description of the “Share Link” embed to be more friendly"},{"type":"UPD","typeCSS":"changelog-upd","betaFlag":false,"location":"Viewing","content":"Animate response list opening and closing for mobile devices"},{"type":"UPD","typeCSS":"changelog-upd","betaFlag":false,"location":"Viewing","content":"Add Timestamp to Single Message View"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Sitewide","content":"Prevent cookie alert from showing up on each refresh"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Home","content":"Improve layout when viewing website in landscape on mobile devices"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Viewing","content":"Fix improperly layered components and shadows"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"MyVirtrolio","content":"Fix improperly placed “Share Link” button"}]},{"versionNumber":"1.1.0","releaseDate":"2020-07-15","betaUpdate":false,"items":[{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"This changelog!\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Added a warning telling Internet Explorer users to get a better browser\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"FAQ","content":"Updated FAQ for \\"How to embed images?\\"\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Open single-message view automatically in a new tab when you bookmark a message\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"MyVirtrolio","content":"Added Social Media Sharing buttons to the Sharing Link dialog. Uses native sharing on mobile devices and custom links on desktops.\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Signing","content":"Added supp
13711ort for embedding images, including a new embed helper button in the formatting bar and disclaimer about responsibilities regarding images in the send confirm dialog\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Signing","content":"Added an Emoji button in the formatting bar, guiding users on how to open the emoji menu on their devices\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Signing","content":"Added \\"Signing is better on a desktop/laptop!\\" alert and dialog if a mobile device is detected\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Clicking the bookmark button on a message opens it in a new tab so you can bookmark it in your browser\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"You can now delete messages from the carousel\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"The Responses List button will now pop out the first time to draw your attention to it. If you want to see it again, delete your cookies for the website.\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"FAQ","content":"Added questions about embedding images into messages, changing your display name and custom sharing links\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Added warning for Internet Explorer users, telling them to use a newer browser\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Legal","content":"Added summaries and clauses about image sharing\\r"},{"type":"UPD","typeCSS":"changelog-upd","betaFlag":false,"location":"Sitewide","content":"The footer and navbar are slightly shorter\\r"},{"type":"UPD","typeCSS":"changelog-upd","betaFlag":false,"location":"Navbar","content":"The Hamburger icon on mobile devices is now a bit brighter to be more visible\\r"},{"type":"UPD","typeCSS":"changelog-upd","betaFlag":false,"location":"Viewing","content":"Moved the Responses List button on mobile devices for easier one-handed access\\r"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"About","content":"Removed random scrollbars appearing in our pictures\\r"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Sitewide","content":"Updated branding and capitalization for our brand. Virtrolio (capital V) is our company, while what we provide to you (your \'virtrolio\') uses a lowercase V\\r"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Sitewide","content":"Added support for mobile popup browsers (like the ones that open when tapping a link in Instagram or Twitter). Previously produced an Access Denied error when trying to login\\r"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Sitewide","content":"Any errors that occur during the sign-in process will now log you out to prevent further issues from trying to use the website with incomplete user data\\r"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Signing","content":"Pressing a format button should no longer cause a long message to scroll to the top"}]},{"versionNumber":"1.0.0","releaseDate":"2020-07-07","betaUpdate":false,"items":[{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Initial release"}]}]');
13712      /***/
13713    },
13714
13715    /***/
13716    53679:
13717    /*!***********************************************!*\
13718      !*** ./src/app/pages/about/contributors.json ***!
13719      \***********************************************/
13720
13721    /***/
13722    function _(module) {
13723      "use strict";
13724
13725      module.exports = JSON.parse('[{"name":"Arvind Nagabhirava","images":{"regular":"https://bit.ly/3ikDVw3","silly":"https://bit.ly/2V596Pn"},"blurb":"Arvind is Virtrolio\'s ideator. He is well known for his compassion and spectacular,\\n radiant personality that always lifts the spirits of those around him. He is known to have an undying love for\\n          sports and mathematics. He is currently studying Computer Science\\n          at the University of Waterloo. In his 
13725spare time, he loves to practice his nunchucks and his taekwondo\\n (especially <s>on</s> with his beloved friends)!","sharingLink":"/signing?uid=cEct1nbdddV3gpdcMqhci3yYNef2&key=inShambles","social":{"github":"","instagram":"_airwind","linkedIn":"https://www.linkedin.com/in/arvindn01/","website":""}},{"name":"Eric Chen","images":{"regular":"https://bit.ly/2NemLiC","silly":"https://bit.ly/3dk383t"},"blurb":"Eric is our fearless technical lead, and we would follow him into hellheim and back if we had to. Not only that, Eric enjoys his bike rides and <i>dank memes</i> like there is no tomorrow. Eric is brilliant, motivated, and occasionally transforms into the real-life embodiment of the angery-react emoji. Eric is extremely proficient in all things tech. To tell the truth, his expertise and leadership is highly valued by the team. Eric is currently studying Software Engineering at uOttawa.","sharingLink":"/signing?uid=s7OIMu1mrxZscVX4dx2K5d2XYvf2&key=maximumAngery","social":{"github":"ricetech","instagram":"the_ricetech","linkedIn":"https://www.linkedin.com/in/ericchen08/","website":""}},{"name":"Dabeer Abdul-Azeez","images":{"regular":"https://bit.ly/2zPaOwQ","silly":"https://bit.ly/3fOt0WT"},"blurb":"Dabeer is an exceptional person with many talents and a wide variety of interests! He is known to have an undying love for musicals and math. And he is plenty talented in both departments! Dabeer is currently studying in the iBiomed program at McMaster University. In his spare time, he loves to practice singing, work on personal projects, and hang out with his beloved friends! He is especially fond of dropping in on people unexpectedly, but pleasant surprises are always to be expected from Dabeer.","sharingLink":"/signing?uid=yluDqypoiiWtlj8M86x7HLp699r1&key=badaBoomBadaBing","social":{"github":"DabeerAzeez","instagram":"GuyInFridge","linkedIn":"https://www.linkedin.com/in/dabeerabdulazeez/","website":"abdulazd.wixsite.com/1p10portfolio"}},{"name":"Tommy Huang","images":{"regular":"https://bit.ly/3hQOJzo","silly":"https://bit.ly/3hW09Sk"},"blurb":"Tommy—better known as potatoes~~~~ by the people of Dota 2, Terraria, and Factorio—is an ABSOLUTE Legend! He is studying Computer Science at the University of Waterloo and lived in the weirdest room in UWP for his first year. Tommy is an avid rocketry enthusiast, having been a member of the rocketry team in high school and now at UW! He also has been biking o u t s i d e, which has been a fairly scary experience.","sharingLink":"/signing?uid=01GHzGKQMzXxU0oYDnvoU8jtvdr2&key=GOOSE","social":{"github":"TommyHuang-dev","instagram":"","linkedIn":"https://www.linkedin.com/in/tommyhuang999","website":"tommyhuang.net"}},{"name":"Janakitti Ratana-Rueangsri","images":{"regular":"https://bit.ly/3elvYBR","silly":"https://bit.ly/2B371wA"},"blurb":"Janakitti is the Gandalf of our team at Virtrolio. While a true technical and creative wizard on the keyboard and on Powerpoint, Janakitti is more importantly the rope that ties the sac together. He is currently studying Software Engineering at the University of Waterloo. In his spare time, Janakitti is known to be an extremely talented guitar player! You should also check out his extravagant website at janakitti.com","sharingLink":"/signing?uid=hTYLpcLKneOLsonAX5ZirLphc6h2&key=wizard","social":{"github":"janakitti","instagram":"janakitti","linkedIn":"https://www.linkedin.com/in/janakittiratana/","website":"janakitti.com"}},{"name":"Anthony Wang","images":{"regular":"https://bit.ly/31xUsnP","silly":"https://bit.ly/2YQTn94"},"blurb":"Anthony is the daring bug squasher and legal eagle at Virtrolio. While known for his spectacular puns and passion for extremely long hikes, he also enjoys building things ~with love~! Anthony is currently studying Software Engineering at the University of Waterloo. In his spare time, he likes to play the piano and travel (RIP). He also writes about math things, lands planes, and has made it out of REV alive.","sharingLink":"/signing?uid=fW6IT848K7SFUVbesGBzP67JIGl2&key=YpTyd3w","social":{"github":"Anthonyftwang","instagram":"itsanthonywang","linkedIn":"https://www.linkedin.com/in/anthonyftwang","website":"anthonywang.dev"}},{"name":"Kishan Manoharan","images":{"regular":"https://bit.ly/3ggfmxo","silly":"https://bit.ly/34RP2V0"},"blurb":"Kishan joined the Virtrolio team during the second round of development in 2021. Known for his addiction to Spotify\'s API, he likes developing software in his free time. He is currently studying as a Computer Program Analyst at George Brown College. As a software developer and an ex-Barista, he is always accompanied by a caffeinated drink in an unsuccessful attempt to solve his catastrophic sleep 
13725schedule, but it only makes it worse.","sharingLink":"/signing?uid=GJ1uuin92HOoqwv8Nvub2Dx0ZH63&key=iWantBoba","social":{"github":"kishanmanoharan","instagram":"kish9n","linkedIn":"https://www.linkedin.com/in/kishan-manoharan-333464195/","website":"kishanm.ca"}},{"name":"John Zhou","images":{"regular":"https://bit.ly/3emaogl","silly":"https://bit.ly/2AUtyvt"},"blurb":"John is the fearless, heroic and noble soul who helped create the About and FAQ pages you see on the Virtrolio site. In his domain, all browsers are welcome (with the exception of IE11) and are served with the very best static pages. John is currently studying Computer Science at the University of Waterloo. In his spare time, John enjoys baking fresh peanut-butter chocolate chip cookies and watching MasterChef Australia. John has also been taking swimming lessons to improve his swimming skills.","sharingLink":"/signing?uid=0VKjHqwTRwNddcKkDHKyuy1wNTu2&key=itsjohnzhou","social":{"github":"johnzhoudev","instagram":"itsjon.zho","linkedIn":"https://www.linkedin.com/in/johnzhou123/","website":""}}]');
13726      /***/
13727    }
13728  },
13729  /******/
13730  function (__webpack_require__) {
13731    // webpackRuntimeModules
13732
13733    /******/
13734    "use strict";
13735    /******/
13736
13737    /******/
13738
13739    var __webpack_exec__ = function __webpack_exec__(moduleId) {
13740      return __webpack_require__(__webpack_require__.s = moduleId);
13741    };
13742    /******/
13743
13744
13745    __webpack_require__.O(0, ["vendor"], function () {
13746      return __webpack_exec__(14431);
13747    });
13748    /******/
13749
13750
13751    var __webpack_exports__ = __webpack_require__.O();
13752    /******/
13753
13754  }]);
13755})();
13756//# sourceMappingURL=main-es5.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.