Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 6dc4bb5d

Přidáno uživatelem Pavel Fidransky před více než 4 roky(ů)

re #58 drop old Angular-based client app

Zobrazit rozdíly:

client/.dockerignore
1
node_modules
2
.gitignore
3
.git
client/.editorconfig
1
# Editor configuration, see https://editorconfig.org
2
root = true
3

  
4
[*]
5
charset = utf-8
6
indent_style = space
7
indent_size = 2
8
insert_final_newline = true
9
trim_trailing_whitespace = true
10

  
11
[*.md]
12
max_line_length = off
13
trim_trailing_whitespace = false
client/Dockerfile
1
#src: https://mherman.org/blog/dockerizing-an-angular-app/
2
#############
3
### build ###
4
#############
5

  
6
# base image
7
FROM node:12.2.0 as build
8

  
9
# install chrome for protractor tests
10
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
11
RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
12
RUN apt-get update && apt-get install -yq google-chrome-stable
13

  
14
# set working directory
15
WORKDIR /app
16

  
17
# add `/app/node_modules/.bin` to $PATH
18
ENV PATH /app/node_modules/.bin:$PATH
19

  
20
# install and cache app dependencies
21
COPY package.json /app/package.json
22
RUN npm install
23
RUN npm install -g @angular/cli@8.3.8
24

  
25
# add app
26
COPY . /app
27

  
28
# run tests - COMMENTED, later
29
#RUN ng test --watch=false
30
#RUN ng e2e --port 4202
31

  
32
# generate build
33
RUN ng build --output-path=dist
34

  
35
############
36
### prod ###
37
############
38

  
39
# base image
40
FROM nginx:1.16.0-alpine
41

  
42
# copy nginx configuration
43
COPY nginx.conf /etc/nginx/conf.d/default.conf
44

  
45
# copy artifact build from the 'build environment'
46
COPY --from=build /app/dist /usr/share/nginx/html
47

  
48
# expose port 80
49
EXPOSE 80
50

  
51
# run nginx
52
CMD ["nginx", "-g", "daemon off;"]
client/nginx.conf
1
server {
2
    listen          80;
3
    server_name     localhost;
4

  
5
    location / {
6
        root        /usr/share/nginx/html;
7
        try_files   $uri $uri/ /index.html;
8
    }
9
}
webapp/.dockerignore
1
node_modules
2
.gitignore
3
.git
webapp/.editorconfig
1
# Editor configuration, see https://editorconfig.org
2
root = true
3

  
4
[*]
5
charset = utf-8
6
indent_style = space
7
indent_size = 2
8
insert_final_newline = true
9
trim_trailing_whitespace = true
10

  
11
[*.md]
12
max_line_length = off
13
trim_trailing_whitespace = false
webapp/.gitignore
1
# See http://help.github.com/ignore-files/ for more about ignoring files.
2

  
3
# compiled output
4
/dist
5
/tmp
6
/out-tsc
7
# Only exists if Bazel was run
8
/bazel-out
9

  
10
# dependencies
11
/node_modules
12

  
13
# profiling files
14
chrome-profiler-events.json
15
speed-measure-plugin.json
16

  
17
# IDEs and editors
18
/.idea
19
.project
20
.classpath
21
.c9/
22
*.launch
23
.settings/
24
*.sublime-workspace
25

  
26
# IDE - VSCode
27
.vscode/*
28
!.vscode/settings.json
29
!.vscode/tasks.json
30
!.vscode/launch.json
31
!.vscode/extensions.json
32
.history/*
33

  
34
# misc
35
/.sass-cache
36
/connect.lock
37
/coverage
38
/libpeerconnection.log
39
npm-debug.log
40
yarn-error.log
41
testem.log
42
/typings
43

  
44
# System Files
45
.DS_Store
46
Thumbs.db
webapp/Dockerfile
1
#src: https://mherman.org/blog/dockerizing-an-angular-app/
2
#############
3
### build ###
4
#############
5

  
6
# base image
7
FROM node:12.2.0 as build
8

  
9
# install chrome for protractor tests
10
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
11
RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
12
RUN apt-get update && apt-get install -yq google-chrome-stable
13

  
14
# set working directory
15
WORKDIR /app
16

  
17
# add `/app/node_modules/.bin` to $PATH
18
ENV PATH /app/node_modules/.bin:$PATH
19

  
20
# install and cache app dependencies
21
COPY package.json /app/package.json
22
RUN npm install
23
RUN npm install -g @angular/cli@8.3.8
24

  
25
# add app
26
COPY . /app
27

  
28
# run tests - COMMENTED, later
29
#RUN ng test --watch=false
30
#RUN ng e2e --port 4202
31

  
32
# generate build
33
RUN ng build --output-path=dist
34

  
35
############
36
### prod ###
37
############
38

  
39
# base image
40
FROM nginx:1.16.0-alpine
41

  
42
# copy nginx configuration
43
COPY nginx.conf /etc/nginx/conf.d/default.conf
44

  
45
# copy artifact build from the 'build environment'
46
COPY --from=build /app/dist /usr/share/nginx/html
47

  
48
# expose port 80
49
EXPOSE 80
50

  
51
# run nginx
52
CMD ["nginx", "-g", "daemon off;"]
webapp/angular.json
1
{
2
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3
  "version": 1,
4
  "newProjectRoot": "projects",
5
  "projects": {
6
    "ymanager-frontend": {
7
      "root": "",
8
      "sourceRoot": "src",
9
      "projectType": "application",
10
      "prefix": "app",
11
      "schematics": {
12
        "@schematics/angular:component": {
13
          "style": "sass"
14
        }
15
      },
16
      "architect": {
17
        "build": {
18
          "builder": "@angular-devkit/build-angular:browser",
19
          "options": {
20
            "outputPath": "dist/ymanager-frontend",
21
            "index": "src/index.html",
22
            "main": "src/main.ts",
23
            "polyfills": "src/polyfills.ts",
24
            "tsConfig": "src/tsconfig.app.json",
25
            "assets": [
26
              "src/favicon.ico",
27
              "src/assets"
28
            ],
29
            "styles": [
30
              "node_modules/flag-icon-css/css/flag-icon.min.css",
31
              "src/styles.sass"
32
            ],
33
            "scripts": [],
34
            "es5BrowserSupport": true
35
          },
36
          "configurations": {
37
            "production": {
38
              "fileReplacements": [
39
                {
40
                  "replace": "src/environments/environment.ts",
41
                  "with": "src/environments/environment.prod.ts"
42
                }
43
              ],
44
              "optimization": true,
45
              "outputHashing": "all",
46
              "sourceMap": false,
47
              "extractCss": true,
48
              "namedChunks": false,
49
              "aot": true,
50
              "extractLicenses": true,
51
              "vendorChunk": false,
52
              "buildOptimizer": true,
53
              "budgets": [
54
                {
55
                  "type": "initial",
56
                  "maximumWarning": "2mb",
57
                  "maximumError": "5mb"
58
                }
59
              ]
60
            }
61
          }
62
        },
63
        "serve": {
64
          "builder": "@angular-devkit/build-angular:dev-server",
65
          "options": {
66
            "browserTarget": "ymanager-frontend:build"
67
          },
68
          "configurations": {
69
            "production": {
70
              "browserTarget": "ymanager-frontend:build:production"
71
            }
72
          }
73
        },
74
        "extract-i18n": {
75
          "builder": "@angular-devkit/build-angular:extract-i18n",
76
          "options": {
77
            "browserTarget": "ymanager-frontend:build"
78
          }
79
        },
80
        "test": {
81
          "builder": "@angular-devkit/build-angular:karma",
82
          "options": {
83
            "main": "src/test.ts",
84
            "polyfills": "src/polyfills.ts",
85
            "tsConfig": "src/tsconfig.spec.json",
86
            "karmaConfig": "src/karma.conf.js",
87
            "styles": [
88
              "src/styles.sass"
89
            ],
90
            "scripts": [],
91
            "assets": [
92
              "src/favicon.ico",
93
              "src/assets"
94
            ]
95
          }
96
        },
97
        "lint": {
98
          "builder": "@angular-devkit/build-angular:tslint",
99
          "options": {
100
            "tsConfig": [
101
              "src/tsconfig.app.json",
102
              "src/tsconfig.spec.json"
103
            ],
104
            "exclude": [
105
              "**/node_modules/**"
106
            ]
107
          }
108
        }
109
      }
110
    },
111
    "ymanager-frontend-e2e": {
112
      "root": "e2e/",
113
      "projectType": "application",
114
      "prefix": "",
115
      "architect": {
116
        "e2e": {
117
          "builder": "@angular-devkit/build-angular:protractor",
118
          "options": {
119
            "protractorConfig": "e2e/protractor.conf.js",
120
            "devServerTarget": "ymanager-frontend:serve"
121
          },
122
          "configurations": {
123
            "production": {
124
              "devServerTarget": "ymanager-frontend:serve:production"
125
            }
126
          }
127
        },
128
        "lint": {
129
          "builder": "@angular-devkit/build-angular:tslint",
130
          "options": {
131
            "tsConfig": "e2e/tsconfig.e2e.json",
132
            "exclude": [
133
              "**/node_modules/**"
134
            ]
135
          }
136
        }
137
      }
138
    }
139
  },
140
  "defaultProject": "ymanager-frontend"
141
}
webapp/e2e/protractor.conf.js
1
// Protractor configuration file, see link for more information
2
// https://github.com/angular/protractor/blob/master/lib/config.ts
3

  
4
const { SpecReporter } = require('jasmine-spec-reporter');
5

  
6
exports.config = {
7
  allScriptsTimeout: 11000,
8
  specs: [
9
    './src/**/*.e2e-spec.ts'
10
  ],
11
  capabilities: {
12
    'browserName': 'chrome'
13
  },
14
  directConnect: true,
15
  baseUrl: 'http://localhost:4200/',
16
  framework: 'jasmine',
17
  jasmineNodeOpts: {
18
    showColors: true,
19
    defaultTimeoutInterval: 30000,
20
    print: function() {}
21
  },
22
  onPrepare() {
23
    require('ts-node').register({
24
      project: require('path').join(__dirname, './tsconfig.e2e.json')
25
    });
26
    jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
27
  }
28
};
webapp/e2e/src/app.e2e-spec.ts
1
import { AppPage } from './app.po';
2
import { browser, logging } from 'protractor';
3

  
4
describe('workspace-project App', () => {
5
  let page: AppPage;
6

  
7
  beforeEach(() => {
8
    page = new AppPage();
9
  });
10

  
11
  it('should display welcome message', () => {
12
    page.navigateTo();
13
    expect(page.getTitleText()).toEqual('Welcome to ymanager-frontend!');
14
  });
15

  
16
  afterEach(async () => {
17
    // Assert that there are no errors emitted from the browser
18
    const logs = await browser.manage().logs().get(logging.Type.BROWSER);
19
    expect(logs).not.toContain(jasmine.objectContaining({
20
      level: logging.Level.SEVERE,
21
    } as logging.Entry));
22
  });
23
});
webapp/e2e/src/app.po.ts
1
import { browser, by, element } from 'protractor';
2

  
3
export class AppPage {
4
  navigateTo() {
5
    return browser.get(browser.baseUrl) as Promise<any>;
6
  }
7

  
8
  getTitleText() {
9
    return element(by.css('app-root h1')).getText() as Promise<string>;
10
  }
11
}
webapp/e2e/tsconfig.e2e.json
1
{
2
  "extends": "../tsconfig.json",
3
  "compilerOptions": {
4
    "outDir": "../out-tsc/app",
5
    "module": "commonjs",
6
    "target": "es5",
7
    "types": [
8
      "jasmine",
9
      "jasminewd2",
10
      "node"
11
    ]
12
  }
13
}
webapp/install.sh
1
#!/bin/bash
2
if ! hash brew 2>/dev/null; then 
3
  brew install yarn
4
  brew install npm
5
fi
6

  
7

  
8
if ! hash choco 2>/dev/null; then
9
  choco install yarn
10
  choco install npm
11
fi
12

  
13
if hash yarn 2>/dev/null; then
14
  yarn install
15
else
16
  echo 'install yarn manually from https://yarnpkg.com/en/docs/install#windows-stable'
17
fi
18

  
19
if hash npm 2>/dev/null; then
20
  npm install -g @angular/cli
21
else
22
  echo 'install https://nodejs.org/en/download/'
23
fi
webapp/mock-server.json
1
{
2
  "user":
3
    [
4
      {
5
        "id": 1,
6
        "name": {
7
          "first": "Tomas",
8
          "last": "Novak"
9
        },
10
        "photo": "https://st2.depositphotos.com/9223672/12056/v/950/depositphotos_120568236-stock-illustration-male-face-avatar-logo-template.jpg",
11
        "calendar": [
12
          {
13
            "date": "2019-05-08",
14
            "from": "18:58:28.322548",
15
            "to": "18:58:28.322561",
16
            "type": "SICKDAY"
17
          }
18
        ]
19
      }
20
  ]
21
}
22

  
23

  
webapp/nginx.conf
1
server {
2
    listen          80;
3
    server_name     localhost;
4

  
5
    location / {
6
        root        /usr/share/nginx/html;
7
        try_files   $uri $uri/ /index.html;
8
    }
9
}
webapp/package-lock.json
1
{
2
  "name": "ymanager-frontend",
3
  "version": "0.0.0",
4
  "lockfileVersion": 1,
5
  "requires": true,
6
  "dependencies": {
7
    "@angular-devkit/architect": {
8
      "version": "0.803.8",
9
      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.803.8.tgz",
10
      "integrity": "sha512-eenVmiFz7CXHkPT0sboaqHHQ48y43racZP648VMuvPJK5wHZhdwyfe5Whz4qnuEHca1fB0FbVDKP10okwVYfPQ==",
11
      "dev": true,
12
      "requires": {
13
        "@angular-devkit/core": "8.3.8",
14
        "rxjs": "6.4.0"
15
      },
16
      "dependencies": {
17
        "rxjs": {
18
          "version": "6.4.0",
19
          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz",
20
          "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==",
21
          "dev": true,
22
          "requires": {
23
            "tslib": "^1.9.0"
24
          }
25
        }
26
      }
27
    },
28
    "@angular-devkit/build-angular": {
29
      "version": "0.803.8",
30
      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.803.8.tgz",
31
      "integrity": "sha512-SKhUcTu2ZfjicUfyyef4SZwmLJoyRFPqA8wceJeqnrkGrkSoHHKgCeqL01fIBVOUaRoIsZQJPCG56YDTEjLKLQ==",
32
      "dev": true,
33
      "requires": {
34
        "@angular-devkit/architect": "0.803.8",
35
        "@angular-devkit/build-optimizer": "0.803.8",
36
        "@angular-devkit/build-webpack": "0.803.8",
37
        "@angular-devkit/core": "8.3.8",
38
        "@babel/core": "7.5.5",
39
        "@babel/preset-env": "7.5.5",
40
        "@ngtools/webpack": "8.3.8",
41
        "ajv": "6.10.2",
42
        "autoprefixer": "9.6.1",
43
        "browserslist": "4.6.6",
44
        "cacache": "12.0.2",
45
        "caniuse-lite": "1.0.30000989",
46
        "circular-dependency-plugin": "5.2.0",
47
        "clean-css": "4.2.1",
48
        "copy-webpack-plugin": "5.0.4",
49
        "core-js": "3.2.1",
50
        "file-loader": "4.2.0",
51
        "find-cache-dir": "3.0.0",
52
        "glob": "7.1.4",
53
        "istanbul-instrumenter-loader": "3.0.1",
54
        "jest-worker": "24.9.0",
55
        "karma-source-map-support": "1.4.0",
56
        "less": "3.9.0",
57
        "less-loader": "5.0.0",
58
        "license-webpack-plugin": "2.1.2",
59
        "loader-utils": "1.2.3",
60
        "mini-css-extract-plugin": "0.8.0",
61
        "minimatch": "3.0.4",
62
        "open": "6.4.0",
63
        "parse5": "4.0.0",
64
        "postcss": "7.0.17",
65
        "postcss-import": "12.0.1",
66
        "postcss-loader": "3.0.0",
67
        "raw-loader": "3.1.0",
68
        "regenerator-runtime": "0.13.3",
69
        "rxjs": "6.4.0",
70
        "sass": "1.22.9",
71
        "sass-loader": "7.2.0",
72
        "semver": "6.3.0",
73
        "source-map": "0.7.3",
74
        "source-map-loader": "0.2.4",
75
        "source-map-support": "0.5.13",
76
        "speed-measure-webpack-plugin": "1.3.1",
77
        "style-loader": "1.0.0",
78
        "stylus": "0.54.5",
79
        "stylus-loader": "3.0.2",
80
        "terser": "4.1.4",
81
        "terser-webpack-plugin": "1.4.1",
82
        "tree-kill": "1.2.1",
83
        "webpack": "4.39.2",
84
        "webpack-dev-middleware": "3.7.0",
85
        "webpack-dev-server": "3.8.0",
86
        "webpack-merge": "4.2.1",
87
        "webpack-sources": "1.4.3",
88
        "webpack-subresource-integrity": "1.1.0-rc.6",
89
        "worker-plugin": "3.2.0"
90
      },
91
      "dependencies": {
92
        "acorn": {
93
          "version": "6.3.0",
94
          "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz",
95
          "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==",
96
          "dev": true
97
        },
98
        "ajv": {
99
          "version": "6.10.2",
100
          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
101
          "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
102
          "dev": true,
103
          "requires": {
104
            "fast-deep-equal": "^2.0.1",
105
            "fast-json-stable-stringify": "^2.0.0",
106
            "json-schema-traverse": "^0.4.1",
107
            "uri-js": "^4.2.2"
108
          }
109
        },
110
        "clone-deep": {
111
          "version": "4.0.1",
112
          "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
113
          "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
114
          "dev": true,
115
          "requires": {
116
            "is-plain-object": "^2.0.4",
117
            "kind-of": "^6.0.2",
118
            "shallow-clone": "^3.0.0"
119
          }
120
        },
121
        "core-js": {
122
          "version": "3.2.1",
123
          "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.2.1.tgz",
124
          "integrity": "sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw==",
125
          "dev": true
126
        },
127
        "glob": {
128
          "version": "7.1.4",
129
          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
130
          "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
131
          "dev": true,
132
          "requires": {
133
            "fs.realpath": "^1.0.0",
134
            "inflight": "^1.0.4",
135
            "inherits": "2",
136
            "minimatch": "^3.0.4",
137
            "once": "^1.3.0",
138
            "path-is-absolute": "^1.0.0"
139
          }
140
        },
141
        "parse5": {
142
          "version": "4.0.0",
143
          "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
144
          "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==",
145
          "dev": true
146
        },
147
        "pify": {
148
          "version": "4.0.1",
149
          "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
150
          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
151
          "dev": true
152
        },
153
        "rxjs": {
154
          "version": "6.4.0",
155
          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz",
156
          "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==",
157
          "dev": true,
158
          "requires": {
159
            "tslib": "^1.9.0"
160
          }
161
        },
162
        "sass-loader": {
163
          "version": "7.2.0",
164
          "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.2.0.tgz",
165
          "integrity": "sha512-h8yUWaWtsbuIiOCgR9fd9c2lRXZ2uG+h8Dzg/AGNj+Hg/3TO8+BBAW9mEP+mh8ei+qBKqSJ0F1FLlYjNBc61OA==",
166
          "dev": true,
167
          "requires": {
168
            "clone-deep": "^4.0.1",
169
            "loader-utils": "^1.0.1",
170
            "neo-async": "^2.5.0",
171
            "pify": "^4.0.1",
172
            "semver": "^5.5.0"
173
          },
174
          "dependencies": {
175
            "semver": {
176
              "version": "5.7.1",
177
              "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
178
              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
179
              "dev": true
180
            }
181
          }
182
        },
183
        "semver": {
184
          "version": "6.3.0",
185
          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
186
          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
187
          "dev": true
188
        },
189
        "shallow-clone": {
190
          "version": "3.0.1",
191
          "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
192
          "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
193
          "dev": true,
194
          "requires": {
195
            "kind-of": "^6.0.2"
196
          }
197
        },
198
        "source-map-support": {
199
          "version": "0.5.13",
200
          "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
201
          "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
202
          "dev": true,
203
          "requires": {
204
            "buffer-from": "^1.0.0",
205
            "source-map": "^0.6.0"
206
          },
207
          "dependencies": {
208
            "source-map": {
209
              "version": "0.6.1",
210
              "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
211
              "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
212
              "dev": true
213
            }
214
          }
215
        },
216
        "terser": {
217
          "version": "4.1.4",
218
          "resolved": "https://registry.npmjs.org/terser/-/terser-4.1.4.tgz",
219
          "integrity": "sha512-+ZwXJvdSwbd60jG0Illav0F06GDJF0R4ydZ21Q3wGAFKoBGyJGo34F63vzJHgvYxc1ukOtIjvwEvl9MkjzM6Pg==",
220
          "dev": true,
221
          "requires": {
222
            "commander": "^2.20.0",
223
            "source-map": "~0.6.1",
224
            "source-map-support": "~0.5.12"
225
          },
226
          "dependencies": {
227
            "source-map": {
228
              "version": "0.6.1",
229
              "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
230
              "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
231
              "dev": true
232
            }
233
          }
234
        },
235
        "terser-webpack-plugin": {
236
          "version": "1.4.1",
237
          "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz",
238
          "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==",
239
          "dev": true,
240
          "requires": {
241
            "cacache": "^12.0.2",
242
            "find-cache-dir": "^2.1.0",
243
            "is-wsl": "^1.1.0",
244
            "schema-utils": "^1.0.0",
245
            "serialize-javascript": "^1.7.0",
246
            "source-map": "^0.6.1",
247
            "terser": "^4.1.2",
248
            "webpack-sources": "^1.4.0",
249
            "worker-farm": "^1.7.0"
250
          },
251
          "dependencies": {
252
            "find-cache-dir": {
253
              "version": "2.1.0",
254
              "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
255
              "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
256
              "dev": true,
257
              "requires": {
258
                "commondir": "^1.0.1",
259
                "make-dir": "^2.0.0",
260
                "pkg-dir": "^3.0.0"
261
              }
262
            },
263
            "source-map": {
264
              "version": "0.6.1",
265
              "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
266
              "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
267
              "dev": true
268
            }
269
          }
270
        },
271
        "webpack": {
272
          "version": "4.39.2",
273
          "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.39.2.tgz",
274
          "integrity": "sha512-AKgTfz3xPSsEibH00JfZ9sHXGUwIQ6eZ9tLN8+VLzachk1Cw2LVmy+4R7ZiwTa9cZZ15tzySjeMui/UnSCAZhA==",
275
          "dev": true,
276
          "requires": {
277
            "@webassemblyjs/ast": "1.8.5",
278
            "@webassemblyjs/helper-module-context": "1.8.5",
279
            "@webassemblyjs/wasm-edit": "1.8.5",
280
            "@webassemblyjs/wasm-parser": "1.8.5",
281
            "acorn": "^6.2.1",
282
            "ajv": "^6.10.2",
283
            "ajv-keywords": "^3.4.1",
284
            "chrome-trace-event": "^1.0.2",
285
            "enhanced-resolve": "^4.1.0",
286
            "eslint-scope": "^4.0.3",
287
            "json-parse-better-errors": "^1.0.2",
288
            "loader-runner": "^2.4.0",
289
            "loader-utils": "^1.2.3",
290
            "memory-fs": "^0.4.1",
291
            "micromatch": "^3.1.10",
292
            "mkdirp": "^0.5.1",
293
            "neo-async": "^2.6.1",
294
            "node-libs-browser": "^2.2.1",
295
            "schema-utils": "^1.0.0",
296
            "tapable": "^1.1.3",
297
            "terser-webpack-plugin": "^1.4.1",
298
            "watchpack": "^1.6.0",
299
            "webpack-sources": "^1.4.1"
300
          }
301
        },
302
        "webpack-sources": {
303
          "version": "1.4.3",
304
          "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
305
          "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
306
          "dev": true,
307
          "requires": {
308
            "source-list-map": "^2.0.0",
309
            "source-map": "~0.6.1"
310
          },
311
          "dependencies": {
312
            "source-map": {
313
              "version": "0.6.1",
314
              "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
315
              "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
316
              "dev": true
317
            }
318
          }
319
        }
320
      }
321
    },
322
    "@angular-devkit/build-optimizer": {
323
      "version": "0.803.8",
324
      "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.8.tgz",
325
      "integrity": "sha512-UiMxl1wI3acqIoRkC0WA0qpab+ni6SlCaB4UIwfD1H/FdzU80P04AIUuJS7StxjbwVkVtA05kcfgmqzP8yBMVg==",
326
      "dev": true,
327
      "requires": {
328
        "loader-utils": "1.2.3",
329
        "source-map": "0.7.3",
330
        "tslib": "1.10.0",
331
        "typescript": "3.5.3",
332
        "webpack-sources": "1.4.3"
333
      },
334
      "dependencies": {
335
        "typescript": {
336
          "version": "3.5.3",
337
          "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz",
338
          "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==",
339
          "dev": true
340
        },
341
        "webpack-sources": {
342
          "version": "1.4.3",
343
          "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
344
          "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
345
          "dev": true,
346
          "requires": {
347
            "source-list-map": "^2.0.0",
348
            "source-map": "~0.6.1"
349
          },
350
          "dependencies": {
351
            "source-map": {
352
              "version": "0.6.1",
353
              "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
354
              "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
355
              "dev": true
356
            }
357
          }
358
        }
359
      }
360
    },
361
    "@angular-devkit/build-webpack": {
362
      "version": "0.803.8",
363
      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.803.8.tgz",
364
      "integrity": "sha512-NFG2suQG4w6uUf1bbduLi/sQw94J1nB3D9heNh5o6ov0Ps1fTA4YEDg3T0RQ8ljmfaLb+wHsxajztzOG/RRnZw==",
365
      "dev": true,
366
      "requires": {
367
        "@angular-devkit/architect": "0.803.8",
368
        "@angular-devkit/core": "8.3.8",
369
        "rxjs": "6.4.0",
370
        "webpack-merge": "4.2.1"
371
      },
372
      "dependencies": {
373
        "rxjs": {
374
          "version": "6.4.0",
375
          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz",
376
          "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==",
377
          "dev": true,
378
          "requires": {
379
            "tslib": "^1.9.0"
380
          }
381
        }
382
      }
383
    },
384
    "@angular-devkit/core": {
385
      "version": "8.3.8",
386
      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-8.3.8.tgz",
387
      "integrity": "sha512-HwlMRr6qANwhOJS+5rGgQ2lmP4nj2C4cbUc0LlA09Cdbq0RnDquUFVqHF6h81FUKFW1D5qDehWYHNOVq8+gTkQ==",
388
      "dev": true,
389
      "requires": {
390
        "ajv": "6.10.2",
391
        "fast-json-stable-stringify": "2.0.0",
392
        "magic-string": "0.25.3",
393
        "rxjs": "6.4.0",
394
        "source-map": "0.7.3"
395
      },
396
      "dependencies": {
397
        "ajv": {
398
          "version": "6.10.2",
399
          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
400
          "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
401
          "dev": true,
402
          "requires": {
403
            "fast-deep-equal": "^2.0.1",
404
            "fast-json-stable-stringify": "^2.0.0",
405
            "json-schema-traverse": "^0.4.1",
406
            "uri-js": "^4.2.2"
407
          }
408
        },
409
        "rxjs": {
410
          "version": "6.4.0",
411
          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz",
412
          "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==",
413
          "dev": true,
414
          "requires": {
415
            "tslib": "^1.9.0"
416
          }
417
        }
418
      }
419
    },
420
    "@angular-devkit/schematics": {
421
      "version": "8.3.8",
422
      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-8.3.8.tgz",
423
      "integrity": "sha512-1KnluRj86QO6fDE++iNbUHq1nNHpz0ZQDs/siy+tDtenO5TxAO/vegHYNKvsIcMMUF9z2kHA0qwUbq5oN8K85g==",
424
      "dev": true,
425
      "requires": {
426
        "@angular-devkit/core": "8.3.8",
427
        "rxjs": "6.4.0"
428
      },
429
      "dependencies": {
430
        "rxjs": {
431
          "version": "6.4.0",
432
          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz",
433
          "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==",
434
          "dev": true,
435
          "requires": {
436
            "tslib": "^1.9.0"
437
          }
438
        }
439
      }
440
    },
441
    "@angular/animations": {
442
      "version": "8.2.9",
443
      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-8.2.9.tgz",
444
      "integrity": "sha512-l30AF0d9P5okTPM1wieUHgcnDyGSNvyaBcxXSOkT790wAP2v5zs7VrKq9Lm+ICu4Nkx07KrOr5XLUHhqsg3VXA==",
445
      "requires": {
446
        "tslib": "^1.9.0"
447
      }
448
    },
449
    "@angular/cdk": {
450
      "version": "8.2.2",
451
      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-8.2.2.tgz",
452
      "integrity": "sha512-e+BtFab0Vd1q/ZVu6l850Q4vvgyVYiugSX31oMRlp86fKHPowlAO7jL3z5JcAG7TybpLIqd7oqF8XQBR/yw83w==",
453
      "requires": {
454
        "parse5": "^5.0.0",
455
        "tslib": "^1.7.1"
456
      }
457
    },
458
    "@angular/cli": {
459
      "version": "8.3.8",
460
      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-8.3.8.tgz",
461
      "integrity": "sha512-JmumKB21XKyQwe3fSeaaEGTWuv39mtrNQ4CWIXzLKY+oWdpBy+G82JRjXM3OMLmKGrmxiAjTc6kP0oRYaq25JA==",
462
      "dev": true,
463
      "requires": {
464
        "@angular-devkit/architect": "0.803.8",
465
        "@angular-devkit/core": "8.3.8",
466
        "@angular-devkit/schematics": "8.3.8",
467
        "@schematics/angular": "8.3.8",
468
        "@schematics/update": "0.803.8",
469
        "@yarnpkg/lockfile": "1.1.0",
470
        "ansi-colors": "4.1.1",
471
        "debug": "^4.1.1",
472
        "ini": "1.3.5",
473
        "inquirer": "6.5.1",
474
        "npm-package-arg": "6.1.0",
475
        "npm-pick-manifest": "3.0.2",
476
        "open": "6.4.0",
477
        "pacote": "9.5.5",
478
        "read-package-tree": "5.3.1",
479
        "semver": "6.3.0",
480
        "symbol-observable": "1.2.0",
481
        "universal-analytics": "^0.4.20",
482
        "uuid": "^3.3.2"
483
      },
484
      "dependencies": {
485
        "ansi-colors": {
486
          "version": "4.1.1",
487
          "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
488
          "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
489
          "dev": true
490
        },
491
        "debug": {
492
          "version": "4.1.1",
493
          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
494
          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
495
          "dev": true,
496
          "requires": {
497
            "ms": "^2.1.1"
498
          }
499
        },
500
        "ms": {
501
          "version": "2.1.2",
502
          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
503
          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
504
          "dev": true
505
        },
506
        "semver": {
507
          "version": "6.3.0",
508
          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
509
          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
510
          "dev": true
511
        }
512
      }
513
    },
514
    "@angular/common": {
515
      "version": "8.2.9",
516
      "resolved": "https://registry.npmjs.org/@angular/common/-/common-8.2.9.tgz",
517
      "integrity": "sha512-76WDU1USlI5vAzqCJ3gxCQGuu57aJEggNk/xoWmQEXipiFTFBh2wSKn/dE6Txr/q3COTPIcrmb9OCeal5kQPIA==",
518
      "requires": {
519
        "tslib": "^1.9.0"
520
      }
521
    },
522
    "@angular/compiler": {
523
      "version": "8.2.9",
524
      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-8.2.9.tgz",
525
      "integrity": "sha512-oQho19DnOhEDNerCOGuGK95tcZ2oy4dSA5SykJmmniRnZzPM2++bJD32qJehXHy1K+3hv2zN9x7HPhqT3ljT6g==",
526
      "dev": true,
527
      "requires": {
528
        "tslib": "^1.9.0"
529
      }
530
    },
531
    "@angular/compiler-cli": {
532
      "version": "8.2.9",
533
      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-8.2.9.tgz",
534
      "integrity": "sha512-tqGBKPf3SRYNEGGJbmjom//U/eAjnecDhGUw6o+VkYE/wxYd9pPcLmcEwwyXBpIPJAsN8RsjTikPuH0gcNE8bw==",
535
      "dev": true,
536
      "requires": {
537
        "canonical-path": "1.0.0",
538
        "chokidar": "^2.1.1",
539
        "convert-source-map": "^1.5.1",
540
        "dependency-graph": "^0.7.2",
541
        "magic-string": "^0.25.0",
542
        "minimist": "^1.2.0",
543
        "reflect-metadata": "^0.1.2",
544
        "source-map": "^0.6.1",
545
        "tslib": "^1.9.0",
546
        "yargs": "13.1.0"
547
      },
548
      "dependencies": {
549
        "ansi-regex": {
550
          "version": "3.0.0",
551
          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
552
          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
553
          "dev": true
554
        },
555
        "camelcase": {
556
          "version": "5.3.1",
557
          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
558
          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
559
          "dev": true
560
        },
561
        "cliui": {
562
          "version": "4.1.0",
563
          "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
564
          "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
565
          "dev": true,
566
          "requires": {
567
            "string-width": "^2.1.1",
568
            "strip-ansi": "^4.0.0",
569
            "wrap-ansi": "^2.0.0"
570
          },
571
          "dependencies": {
572
            "string-width": {
573
              "version": "2.1.1",
574
              "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
575
              "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
576
              "dev": true,
577
              "requires": {
578
                "is-fullwidth-code-point": "^2.0.0",
579
                "strip-ansi": "^4.0.0"
580
              }
581
            }
582
          }
583
        },
584
        "emoji-regex": {
585
          "version": "7.0.3",
586
          "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
587
          "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
588
          "dev": true
589
        },
590
        "get-caller-file": {
591
          "version": "2.0.5",
592
          "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
593
          "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
594
          "dev": true
595
        },
596
        "invert-kv": {
597
          "version": "2.0.0",
598
          "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
599
          "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
600
          "dev": true
601
        },
602
        "is-fullwidth-code-point": {
603
          "version": "2.0.0",
604
          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
605
          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
606
          "dev": true
607
        },
608
        "lcid": {
609
          "version": "2.0.0",
610
          "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
611
          "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
612
          "dev": true,
613
          "requires": {
614
            "invert-kv": "^2.0.0"
615
          }
616
        },
617
        "os-locale": {
618
          "version": "3.1.0",
619
          "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
620
          "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
621
          "dev": true,
622
          "requires": {
623
            "execa": "^1.0.0",
624
            "lcid": "^2.0.0",
625
            "mem": "^4.0.0"
626
          }
627
        },
628
        "require-main-filename": {
629
          "version": "2.0.0",
630
          "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
631
          "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
632
          "dev": true
633
        },
634
        "source-map": {
635
          "version": "0.6.1",
636
          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
637
          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
638
          "dev": true
639
        },
640
        "string-width": {
641
          "version": "3.1.0",
642
          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
643
          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
644
          "dev": true,
645
          "requires": {
646
            "emoji-regex": "^7.0.1",
647
            "is-fullwidth-code-point": "^2.0.0",
648
            "strip-ansi": "^5.1.0"
649
          },
650
          "dependencies": {
651
            "ansi-regex": {
652
              "version": "4.1.0",
653
              "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
654
              "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
655
              "dev": true
656
            },
657
            "strip-ansi": {
658
              "version": "5.2.0",
659
              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
660
              "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
661
              "dev": true,
662
              "requires": {
663
                "ansi-regex": "^4.1.0"
664
              }
665
            }
666
          }
667
        },
668
        "strip-ansi": {
669
          "version": "4.0.0",
670
          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
671
          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
672
          "dev": true,
673
          "requires": {
674
            "ansi-regex": "^3.0.0"
675
          }
676
        },
677
        "which-module": {
678
          "version": "2.0.0",
679
          "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
680
          "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
681
          "dev": true
682
        },
683
        "yargs": {
684
          "version": "13.1.0",
685
          "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.1.0.tgz",
686
          "integrity": "sha512-1UhJbXfzHiPqkfXNHYhiz79qM/kZqjTE8yGlEjZa85Q+3+OwcV6NRkV7XOV1W2Eom2bzILeUn55pQYffjVOLAg==",
687
          "dev": true,
688
          "requires": {
689
            "cliui": "^4.0.0",
690
            "find-up": "^3.0.0",
691
            "get-caller-file": "^2.0.1",
692
            "os-locale": "^3.1.0",
693
            "require-directory": "^2.1.1",
694
            "require-main-filename": "^2.0.0",
695
            "set-blocking": "^2.0.0",
696
            "string-width": "^3.0.0",
697
            "which-module": "^2.0.0",
698
            "y18n": "^4.0.0",
699
            "yargs-parser": "^13.0.0"
700
          }
701
        },
702
        "yargs-parser": {
703
          "version": "13.1.1",
704
          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
705
          "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
706
          "dev": true,
707
          "requires": {
708
            "camelcase": "^5.0.0",
709
            "decamelize": "^1.2.0"
710
          }
711
        }
712
      }
713
    },
714
    "@angular/core": {
715
      "version": "8.2.9",
716
      "resolved": "https://registry.npmjs.org/@angular/core/-/core-8.2.9.tgz",
717
      "integrity": "sha512-GpHAuLOlN9iioELCQBmAsjETTUCyFgVUI3LXwh3e63jnpd+ZuuZcZbjfTYhtgYVNMetn7cVEO6p88eb7qvpUWQ==",
718
      "requires": {
719
        "tslib": "^1.9.0"
720
      }
721
    },
722
    "@angular/forms": {
723
      "version": "8.2.9",
724
      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-8.2.9.tgz",
725
      "integrity": "sha512-kAdBuApC9PPOdPI8BmNhxCraAkXGbX/PkVan8pQ5xdumvgGqvVjbJvLaUSbJROPtgCRlQyiEDrHFd4gk/WU76A==",
726
      "requires": {
727
        "tslib": "^1.9.0"
728
      }
729
    },
730
    "@angular/language-service": {
731
      "version": "7.2.15",
732
      "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-7.2.15.tgz",
733
      "integrity": "sha512-Ig5Jr7mnDelaZvSbUd9YhI5am3q1ku9xelAuwvtyDKvQJeKQj3BtTagcOgWrnQBfrJ/FsA/M5Zo48ncSsV0tqQ==",
734
      "dev": true
735
    },
736
    "@angular/material": {
737
      "version": "8.2.2",
738
      "resolved": "https://registry.npmjs.org/@angular/material/-/material-8.2.2.tgz",
739
      "integrity": "sha512-mR2ppE+Z1S5As2SUFK8wUH76Fj7YgrefhrwVGaeCLcAen//RHPw043+KL2apPAUaltdIFlGFtUuA6yJN6av0nQ==",
740
      "requires": {
741
        "tslib": "^1.7.1"
742
      }
743
    },
744
    "@angular/platform-browser": {
745
      "version": "8.2.9",
746
      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-8.2.9.tgz",
747
      "integrity": "sha512-k3aNZy0OTqGn7HlHHV52QF6ZAP/VlQhWGD2u5e1dWIWMq39kdkdSCNu5tiuAf5hIzMBiSQ0tjnuVWA4MuDBYIQ==",
748
      "requires": {
749
        "tslib": "^1.9.0"
750
      }
751
    },
752
    "@angular/platform-browser-dynamic": {
753
      "version": "8.2.9",
754
      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-8.2.9.tgz",
755
      "integrity": "sha512-GbE4TUy4n/a8yp8fLWwdG/QnjUPZZ8VufItZ7GvOpoyknzegvka111dLctvMoPzSAsrKyShL6cryuyDC5PShUA==",
756
      "requires": {
757
        "tslib": "^1.9.0"
758
      }
759
    },
760
    "@angular/router": {
761
      "version": "8.2.9",
762
      "resolved": "https://registry.npmjs.org/@angular/router/-/router-8.2.9.tgz",
763
      "integrity": "sha512-4P60CWNB/jxGjDBEuYN0Jobt76QlebAQeFBTDswRVwRlq/WJT4QhL3a8AVIRsHn9bQII0LUt/ZQBBPxn7h9lSA==",
764
      "requires": {
765
        "tslib": "^1.9.0"
766
      }
767
    },
768
    "@babel/code-frame": {
769
      "version": "7.0.0",
770
      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",
771
      "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
772
      "dev": true,
773
      "requires": {
774
        "@babel/highlight": "^7.0.0"
775
      }
776
    },
777
    "@babel/core": {
778
      "version": "7.5.5",
779
      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.5.tgz",
780
      "integrity": "sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==",
781
      "dev": true,
782
      "requires": {
783
        "@babel/code-frame": "^7.5.5",
784
        "@babel/generator": "^7.5.5",
785
        "@babel/helpers": "^7.5.5",
786
        "@babel/parser": "^7.5.5",
787
        "@babel/template": "^7.4.4",
788
        "@babel/traverse": "^7.5.5",
789
        "@babel/types": "^7.5.5",
790
        "convert-source-map": "^1.1.0",
791
        "debug": "^4.1.0",
792
        "json5": "^2.1.0",
793
        "lodash": "^4.17.13",
794
        "resolve": "^1.3.2",
795
        "semver": "^5.4.1",
796
        "source-map": "^0.5.0"
797
      },
798
      "dependencies": {
799
        "@babel/code-frame": {
800
          "version": "7.5.5",
801
          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
802
          "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
803
          "dev": true,
804
          "requires": {
805
            "@babel/highlight": "^7.0.0"
806
          }
807
        },
808
        "@babel/generator": {
809
          "version": "7.6.2",
810
          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.2.tgz",
811
          "integrity": "sha512-j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ==",
812
          "dev": true,
813
          "requires": {
814
            "@babel/types": "^7.6.0",
815
            "jsesc": "^2.5.1",
816
            "lodash": "^4.17.13",
817
            "source-map": "^0.5.0"
818
          }
819
        },
820
        "@babel/parser": {
821
          "version": "7.6.2",
822
          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.2.tgz",
823
          "integrity": "sha512-mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg==",
824
          "dev": true
825
        },
826
        "@babel/traverse": {
827
          "version": "7.6.2",
828
          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.2.tgz",
829
          "integrity": "sha512-8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ==",
830
          "dev": true,
831
          "requires": {
832
            "@babel/code-frame": "^7.5.5",
833
            "@babel/generator": "^7.6.2",
834
            "@babel/helper-function-name": "^7.1.0",
835
            "@babel/helper-split-export-declaration": "^7.4.4",
836
            "@babel/parser": "^7.6.2",
837
            "@babel/types": "^7.6.0",
838
            "debug": "^4.1.0",
839
            "globals": "^11.1.0",
840
            "lodash": "^4.17.13"
841
          }
842
        },
843
        "@babel/types": {
844
          "version": "7.6.1",
845
          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
846
          "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
847
          "dev": true,
848
          "requires": {
849
            "esutils": "^2.0.2",
850
            "lodash": "^4.17.13",
851
            "to-fast-properties": "^2.0.0"
852
          }
853
        },
854
        "debug": {
855
          "version": "4.1.1",
856
          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
857
          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
858
          "dev": true,
859
          "requires": {
860
            "ms": "^2.1.1"
861
          }
862
        },
863
        "json5": {
864
          "version": "2.1.1",
865
          "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz",
866
          "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==",
867
          "dev": true,
868
          "requires": {
869
            "minimist": "^1.2.0"
870
          }
871
        },
872
        "ms": {
873
          "version": "2.1.2",
874
          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
875
          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
876
          "dev": true
877
        },
878
        "source-map": {
879
          "version": "0.5.7",
880
          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
881
          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
882
          "dev": true
883
        }
884
      }
885
    },
886
    "@babel/generator": {
887
      "version": "7.5.0",
888
      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.0.tgz",
889
      "integrity": "sha512-1TTVrt7J9rcG5PMjvO7VEG3FrEoEJNHxumRq66GemPmzboLWtIjjcJgk8rokuAS7IiRSpgVSu5Vb9lc99iJkOA==",
890
      "dev": true,
891
      "requires": {
892
        "@babel/types": "^7.5.0",
893
        "jsesc": "^2.5.1",
894
        "lodash": "^4.17.11",
895
        "source-map": "^0.5.0",
896
        "trim-right": "^1.0.1"
897
      },
898
      "dependencies": {
899
        "jsesc": {
900
          "version": "2.5.2",
901
          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
902
          "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
903
          "dev": true
904
        },
905
        "source-map": {
906
          "version": "0.5.7",
907
          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
908
          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
909
          "dev": true
910
        }
911
      }
912
    },
913
    "@babel/helper-annotate-as-pure": {
914
      "version": "7.0.0",
915
      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
916
      "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
917
      "dev": true,
918
      "requires": {
919
        "@babel/types": "^7.0.0"
920
      }
921
    },
922
    "@babel/helper-builder-binary-assignment-operator-visitor": {
923
      "version": "7.1.0",
924
      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz",
925
      "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==",
926
      "dev": true,
927
      "requires": {
... Rozdílový soubor je zkrácen, protože jeho délka přesahuje max. limit.

Také k dispozici: Unified diff