text: "use strict";
  (self["webpackChunkapp"] = self["webpackChunkapp"] || []).push([["common"],{
  
  /***/ 3014:
  /*!*********************************************************************!*\
    !*** ./node_modules/@ionic/core/dist/esm/focus-visible-02bf7a99.js ***!
    \*********************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "startFocusVisible": () => (/* binding */ startFocusVisible)
  /* harmony export */ });
  /*!
   * (C) Ionic http://ionicframework.com - MIT License
   */
  const ION_FOCUSED = 'ion-focused';
  const ION_FOCUSABLE = 'ion-focusable';
  const FOCUS_KEYS = ['Tab', 'ArrowDown', 'Space', 'Escape', ' ', 'Shift', 'Enter', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'Home', 'End'];
  const startFocusVisible = (rootEl) => {
    let currentFocus = [];
    let keyboardMode = true;
    const ref = (rootEl) ? rootEl.shadowRoot : document;
    const root = (rootEl) ? rootEl : document.body;
    const setFocus = (elements) => {
      currentFocus.forEach(el => el.classList.remove(ION_FOCUSED));
      elements.forEach(el => el.classList.add(ION_FOCUSED));
      currentFocus = elements;
    };
    const pointerDown = () => {
      keyboardMode = false;
      setFocus([]);
    };
    const onKeydown = (ev) => {
      keyboardMode = FOCUS_KEYS.includes(ev.key);
      if (!keyboardMode) {
        setFocus([]);
      }
    };
    const onFocusin = (ev) => {
      if (keyboardMode && ev.composedPath) {
        const toFocus = ev.composedPath().filter((el) => {
          if (el.classList) {
            return el.classList.contains(ION_FOCUSABLE);
          }
          return false;
        });
        setFocus(toFocus);
      }
    };
    const onFocusout = () => {
      if (ref.activeElement === root) {
        setFocus([]);
      }
    };
    ref.addEventListener('keydown', onKeydown);
    ref.addEventListener('focusin', onFocusin);
    ref.addEventListener('focusout', onFocusout);
    ref.addEventListener('touchstart', pointerDown);
    ref.addEventListener('mousedown', pointerDown);
    const destroy = () => {
      ref.removeEventListener('keydown', onKeydown);
      ref.removeEventListener('focusin', onFocusin);
      ref.removeEventListener('focusout', onFocusout);
      ref.removeEventListener('touchstart', pointerDown);
      ref.removeEventListener('mousedown', pointerDown);
    };
    return {
      destroy,
      setFocus
    };
  };
  
  
  
  
  /***/ }),
  
  /***/ 2471:
  /*!*************************************************************!*\
    !*** ./node_modules/@ionic/core/dist/esm/index-e2988509.js ***!
    \*************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "a": () => (/* binding */ chevronBack),
  /* harmony export */   "b": () => (/* binding */ chevronForward),
  /* harmony export */   "c": () => (/* binding */ chevronForwardOutline),
  /* harmony export */   "d": () => (/* binding */ chevronDown),
  /* harmony export */   "e": () => (/* binding */ ellipsisHorizontal),
  /* harmony export */   "f": () => (/* binding */ caretUpSharp),
  /* harmony export */   "g": () => (/* binding */ caretDownSharp)
  /* harmony export */ });
  /*!
   * (C) Ionic http://ionicframework.com - MIT License
   */
  /* Ionicons v6.0.0, ES Modules */
  const caretDownSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Caret Down</title><path d='M64 144l192 224 192-224H64z'/></svg>";
  const caretUpSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Caret Up</title><path d='M448 368L256 144 64 368h384z'/></svg>";
  const chevronBack = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Chevron Back</title><path stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M328 112L184 256l144 144' class='ionicon-fill-none'/></svg>";
  const chevronDown = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Chevron Down</title><path stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M112 184l144 144 144-144' class='ionicon-fill-none'/></svg>";
  const chevronForward = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Chevron Forward</title><path stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M184 112l144 144-144 144' class='ionicon-fill-none'/></svg>";
  const chevronForwardOutline = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Chevron Forward</title><path stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M184 112l144 144-144 144' class='ionicon-fill-none'/></svg>";
  const ellipsisHorizontal = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><title>Ellipsis Horizontal</title><circle cx='256' cy='256' r='48'/><circle cx='416' cy='256' r='48'/><circle cx='96' cy='256' r='48'/></svg>";
  
  
  
  
  /***/ }),
  
  /***/ 9498:
  /*!***********************************************************************!*\
    !*** ./node_modules/@ionic/core/dist/esm/spinner-configs-163ed7fb.js ***!
    \***********************************************************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "S": () => (/* binding */ SPINNERS)
  /* harmony export */ });
  /*!
   * (C) Ionic http://ionicframework.com - MIT License
   */
  const spinners = {
    'bubbles': {
      dur: 1000,
      circles: 9,
      fn: (dur, index, total) => {
        const animationDelay = `${(dur * index / total) - dur}ms`;
        const angle = 2 * Math.PI * index / total;
        return {
          r: 5,
          style: {
            'top': `${9 * Math.sin(angle)}px`,
            'left': `${9 * Math.cos(angle)}px`,
            'animation-delay': animationDelay,
          }
        };
      }
    },
    'circles': {
      dur: 1000,
      circles: 8,
      fn: (dur, index, total) => {
        const step = index / total;
        const animationDelay = `${(dur * step) - dur}ms`;
        const angle = 2 * Math.PI * step;
        return {
          r: 5,
          style: {
            'top': `${9 * Math.sin(angle)}px`,
            'left': `${9 * Math.cos(angle)}px`,
            'animation-delay': animationDelay,
          }
        };
      }
    },
    'circular': {
      dur: 1400,
      elmDuration: true,
      circles: 1,
      fn: () => {
        return {
          r: 20,
          cx: 48,
          cy: 48,
          fill: 'none',
          viewBox: '24 24 48 48',
          transform: 'translate(0,0)',
          style: {}
        };
      }
    },
    'crescent': {
      dur: 750,
      circles: 1,
      fn: () => {
        return {
          r: 26,
          style: {}
        };
      }
    },
    'dots': {
      dur: 750,
      circles: 3,
      fn: (_, index) => {
        const animationDelay = -(110 * index) + 'ms';
        return {
          r: 6,
          style: {
            'left': `${9 - (9 * index)}px`,
            'animation-delay': animationDelay,
          }
        };
      }
    },
    'lines': {
      dur: 1000,
      lines: 8,
      fn: (dur, index, total) => {
        const transform = `rotate(${(360 / total) * index + (index < (total / 2) ? 180 : -180)}deg)`;
        const animationDelay = `${(dur * index / total) - dur}ms`;
        return {
          y1: 14,
          y2: 26,
          style: {
            'transform': transform,
            'animation-delay': animationDelay,
          }
        };
      }
    },
    'lines-small': {
      dur: 1000,
      lines: 8,
      fn: (dur, index, total) => {
        const transform = `rotate(${(360 / total) * index + (index < (total / 2) ? 180 : -180)}deg)`;
        const animationDelay = `${(dur * index / total) - dur}ms`;
        return {
          y1: 12,
          y2: 20,
          style: {
            'transform': transform,
            'animation-delay': animationDelay,
          }
        };
      }
    },
    'lines-sharp': {
      dur: 1000,
      lines: 12,
      fn: (dur, index, total) => {
        const transform = `rotate(${30 * index + (index < 6 ? 180 : -180)}deg)`;
        const animationDelay = `${(dur * index / total) - dur}ms`;
        return {
          y1: 17,
          y2: 29,
          style: {
            'transform': transform,
            'animation-delay': animationDelay,
          }
        };
      }
    },
    'lines-sharp-small': {
      dur: 1000,
      lines: 12,
      fn: (dur, index, total) => {
        const transform = `rotate(${30 * index + (index < 6 ? 180 : -180)}deg)`;
        const animationDelay = `${(dur * index / total) - dur}ms`;
        return {
          y1: 12,
          y2: 20,
          style: {
            'transform': transform,
            'animation-delay': animationDelay,
          }
        };
      }
    }
  };
  const SPINNERS = spinners;
  
  
  
  
  /***/ }),
  
  /***/ 4344:
  /*!*********************************!*\
    !*** ./src/app/auth.service.ts ***!
    \*********************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "AuthService": () => (/* binding */ AuthService)
  /* harmony export */ });
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ 8806);
  /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 4001);
  /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/common/http */ 3981);
  
  
  
  const httpOptions = {
      headers: new _angular_common_http__WEBPACK_IMPORTED_MODULE_0__.HttpHeaders({ 'Content-Type': 'application/json' })
  };
  let AuthService = class AuthService {
      constructor(http) {
          this.http = http;
          let l = window.location;
          let host;
          //Are we running under Ionic or in a production environment?
          if (l.port >= '8100' || l.port >= '8200') {
              host = 'localhost:3000';
          }
          else {
              host = l.hostname + ((l.port.length > 0) ? ':' + l.port : '');
          }
          this.url = `${l.protocol}//${host}/api/auth/`;
      }
      register(user) {
          return this.http.post(this.url + 'register', user, httpOptions);
      }
      logIn(user) {
          return this.http.post(this.url + 'login', user, httpOptions);
      }
      logOut() {
          return this.http.delete(this.url + 'logout');
      }
  };
  AuthService.ctorParameters = () => [
      { type: _angular_common_http__WEBPACK_IMPORTED_MODULE_0__.HttpClient }
  ];
  AuthService = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
      (0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Injectable)({
          providedIn: 'root'
      })
  ], AuthService);
  
  
  
  /***/ }),
  
  /***/ 410:
  /*!*******************************!*\
    !*** ./src/app/user.model.ts ***!
    \*******************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "User": () => (/* binding */ User)
  /* harmony export */ });
  class User {
  }
  
  
  /***/ }),
  
  /***/ 7223:
  /*!**********************************!*\
    !*** ./src/app/users.service.ts ***!
    \**********************************/
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  
  __webpack_require__.r(__webpack_exports__);
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  /* harmony export */   "UsersService": () => (/* binding */ UsersService)
  /* harmony export */ });
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ 8806);
  /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 4001);
  /* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/common/http */ 3981);
  
  
  
  const httpOptions = {
      headers: new _angular_common_http__WEBPACK_IMPORTED_MODULE_0__.HttpHeaders({ 'Content-Type': 'application/json' })
  };
  let UsersService = class UsersService {
      constructor(http) {
          this.http = http;
          let l = window.location;
          let host;
          //Are we running under Ionic or in a production environment?
          if (l.port >= '8100') {
              host = 'localhost:3000';
          }
          else {
              host = l.hostname + ((l.port.length > 0) ? ':' + l.port : '');
          }
          this.url = `${l.protocol}//${host}/api/users/`;
      }
      getUsers() {
          return this.http.get(this.url, httpOptions);
      }
      getUser(id) {
          return this.http.get(`${this.url}/${id}`, httpOptions);
      }
      updateUser(user) {
          return this.http.put(this.url, user, httpOptions);
      }
      deleteUser(id) {
          return this.http.delete(this.url + id);
      }
  };
  UsersService.ctorParameters = () => [
      { type: _angular_common_http__WEBPACK_IMPORTED_MODULE_0__.HttpClient }
  ];
  UsersService = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
      (0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Injectable)({
          providedIn: 'root'
      })
  ], UsersService);
  
  
  
  /***/ })
  
  }]);
  //# sourceMappingURL=common.js.map