master 3a558bd3b050 cached
474 files
14.6 MB
3.9M tokens
2620 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (15,419K chars total). Download the full file to get everything.
Repository: owsolutions/angular5-iot-dashboard
Branch: master
Commit: 3a558bd3b050
Files: 474
Total size: 14.6 MB

Directory structure:
gitextract_551m2m5u/

├── .angular-cli.json
├── .circleci/
│   └── config.yml
├── .editorconfig
├── .firebaserc
├── .gitignore
├── .travis.yml
├── README.md
├── cypress/
│   ├── fixtures/
│   │   └── example.json
│   ├── integration/
│   │   ├── devices_spec.js
│   │   ├── locations_spec.js
│   │   ├── profile_spec.js
│   │   └── public_pages_spec.js
│   ├── plugins/
│   │   └── index.js
│   └── support/
│       ├── commands.js
│       └── index.js
├── cypress.json
├── dist/
│   ├── 3rdpartylicenses.txt
│   ├── assets/
│   │   ├── css/
│   │   │   └── forms-style.css
│   │   ├── fonts/
│   │   │   ├── LICENSE.txt
│   │   │   ├── README.txt
│   │   │   ├── config.json
│   │   │   ├── css/
│   │   │   │   ├── FFF-Forward.css
│   │   │   │   ├── animation.css
│   │   │   │   ├── fontello-codes.css
│   │   │   │   ├── fontello-embedded.css
│   │   │   │   ├── fontello-ie7-codes.css
│   │   │   │   ├── fontello-ie7.css
│   │   │   │   ├── fontello.css
│   │   │   │   └── icomoon.css
│   │   │   └── demo.html
│   │   ├── google-fonts/
│   │   │   └── quicksand/
│   │   │       └── import.css
│   │   ├── material-icon.scss
│   │   └── scss/
│   │       ├── _injects.scss
│   │       └── _vars.scss
│   ├── index.html
│   ├── inline.318b50c57b4eba3d437b.bundle.js
│   ├── main.1f97156bf39f455d6051.bundle.js
│   ├── polyfills.3d3c8c0866d3754719db.bundle.js
│   ├── scripts.e519ef3666a8a65c1b79.bundle.js
│   └── styles.9c2b95b3841237efe9ac.bundle.css
├── firebase.json
├── mobile/
│   ├── config.xml
│   ├── hooks/
│   │   └── README.md
│   └── res/
│       ├── README.md
│       └── screen/
│           └── tizen/
│               └── README.md
├── package.json
├── src/
│   ├── app/
│   │   ├── app.module.ts
│   │   ├── app.navigation.ts
│   │   ├── app.reducers.ts
│   │   ├── app.routes.ts
│   │   ├── boilerplate/
│   │   │   ├── angular-calendar/
│   │   │   │   ├── angular-calendar.component.html
│   │   │   │   ├── angular-calendar.component.scss
│   │   │   │   ├── angular-calendar.component.spec.ts
│   │   │   │   └── angular-calendar.component.ts
│   │   │   └── boilerplate.module.ts
│   │   ├── common.ts
│   │   ├── components/
│   │   │   ├── contact-details/
│   │   │   │   ├── contact-details.component.html
│   │   │   │   ├── contact-details.component.scss
│   │   │   │   ├── contact-details.component.spec.ts
│   │   │   │   └── contact-details.component.ts
│   │   │   ├── custom-switch.scss
│   │   │   ├── forms/
│   │   │   │   ├── checkbox-input/
│   │   │   │   │   ├── checkbox-input.component.html
│   │   │   │   │   ├── checkbox-input.component.scss
│   │   │   │   │   └── checkbox-input.component.ts
│   │   │   │   ├── radio-input/
│   │   │   │   │   ├── radio-input.component.html
│   │   │   │   │   ├── radio-input.component.scss
│   │   │   │   │   └── radio-input.component.ts
│   │   │   │   ├── select-input/
│   │   │   │   │   ├── select-input.component.html
│   │   │   │   │   ├── select-input.component.scss
│   │   │   │   │   └── select-input.component.ts
│   │   │   │   └── text-input/
│   │   │   │       ├── text-input.component.html
│   │   │   │       ├── text-input.component.scss
│   │   │   │       └── text-input.component.ts
│   │   │   ├── functions/
│   │   │   │   ├── UpdateOrInsert.ts
│   │   │   │   └── UpdateOrPrepend.ts
│   │   │   ├── gallery/
│   │   │   │   ├── gallery.component.html
│   │   │   │   ├── gallery.component.scss
│   │   │   │   └── gallery.component.ts
│   │   │   ├── if-experimental/
│   │   │   │   ├── if-experimental.component.html
│   │   │   │   ├── if-experimental.component.scss
│   │   │   │   ├── if-experimental.component.spec.ts
│   │   │   │   └── if-experimental.component.ts
│   │   │   ├── loading/
│   │   │   │   ├── loading.component.html
│   │   │   │   ├── loading.component.scss
│   │   │   │   └── loading.component.ts
│   │   │   ├── navigation/
│   │   │   │   ├── navigation.component.html
│   │   │   │   ├── navigation.component.scss
│   │   │   │   └── navigation.component.ts
│   │   │   ├── ngx-tooltip/
│   │   │   │   ├── ngx-tooltip.component.html
│   │   │   │   ├── ngx-tooltip.component.scss
│   │   │   │   ├── ngx-tooltip.component.spec.ts
│   │   │   │   ├── ngx-tooltip.component.ts
│   │   │   │   ├── ngx-tooltip.module.ts
│   │   │   │   └── tooltip.directive.ts
│   │   │   ├── notification-list/
│   │   │   │   ├── notification-list.component.html
│   │   │   │   ├── notification-list.component.scss
│   │   │   │   ├── notification-list.component.spec.ts
│   │   │   │   └── notification-list.component.ts
│   │   │   ├── output-pin-view/
│   │   │   │   ├── output-pin-view.component.html
│   │   │   │   ├── output-pin-view.component.scss
│   │   │   │   └── output-pin-view.component.ts
│   │   │   ├── page-header/
│   │   │   │   ├── page-header.component.html
│   │   │   │   ├── page-header.component.scss
│   │   │   │   └── page-header.component.ts
│   │   │   ├── privacy-policy/
│   │   │   │   ├── privacy-policy.component.html
│   │   │   │   ├── privacy-policy.component.scss
│   │   │   │   ├── privacy-policy.component.spec.ts
│   │   │   │   └── privacy-policy.component.ts
│   │   │   ├── profile/
│   │   │   │   ├── profile.component.html
│   │   │   │   ├── profile.component.scss
│   │   │   │   ├── profile.component.spec.ts
│   │   │   │   └── profile.component.ts
│   │   │   ├── quick-chart/
│   │   │   │   ├── quick-chart.component.html
│   │   │   │   ├── quick-chart.component.scss
│   │   │   │   ├── quick-chart.component.spec.ts
│   │   │   │   └── quick-chart.component.ts
│   │   │   ├── settings/
│   │   │   │   ├── settings.component.html
│   │   │   │   ├── settings.component.scss
│   │   │   │   └── settings.component.ts
│   │   │   ├── sidebar-widget/
│   │   │   │   ├── sidebar-widget.component.html
│   │   │   │   ├── sidebar-widget.component.scss
│   │   │   │   └── sidebar-widget.component.ts
│   │   │   └── user-widget/
│   │   │       ├── user-widget.component.html
│   │   │       ├── user-widget.component.scss
│   │   │       └── user-widget.component.ts
│   │   ├── data-layer/
│   │   │   ├── activity.reducer.ts
│   │   │   └── notifications.reducer.ts
│   │   ├── definitions.ts
│   │   ├── iot/
│   │   │   ├── activity/
│   │   │   │   ├── activity-widget/
│   │   │   │   │   ├── activity-widget.component.html
│   │   │   │   │   ├── activity-widget.component.scss
│   │   │   │   │   └── activity-widget.component.ts
│   │   │   │   ├── activity.component.html
│   │   │   │   ├── activity.component.scss
│   │   │   │   └── activity.component.ts
│   │   │   ├── checkbox-switch.scss
│   │   │   ├── co2/
│   │   │   │   ├── co2.component.html
│   │   │   │   ├── co2.component.scss
│   │   │   │   ├── co2.component.spec.ts
│   │   │   │   └── co2.component.ts
│   │   │   ├── d3ne/
│   │   │   │   ├── d3ne.component.html
│   │   │   │   ├── d3ne.component.scss
│   │   │   │   ├── d3ne.component.spec.ts
│   │   │   │   └── d3ne.component.ts
│   │   │   ├── device-co2/
│   │   │   │   ├── device-co2.component.html
│   │   │   │   ├── device-co2.component.scss
│   │   │   │   └── device-co2.component.ts
│   │   │   ├── device-events-actions/
│   │   │   │   ├── device-events-actions.component.html
│   │   │   │   ├── device-events-actions.component.scss
│   │   │   │   ├── device-events-actions.component.spec.ts
│   │   │   │   └── device-events-actions.component.ts
│   │   │   ├── device-general-information/
│   │   │   │   ├── device-general-information.component.html
│   │   │   │   ├── device-general-information.component.scss
│   │   │   │   └── device-general-information.component.ts
│   │   │   ├── device-humidity/
│   │   │   │   ├── device-humidity.component.html
│   │   │   │   ├── device-humidity.component.scss
│   │   │   │   └── device-humidity.component.ts
│   │   │   ├── device-lamp/
│   │   │   │   ├── device-lamp.component.html
│   │   │   │   ├── device-lamp.component.scss
│   │   │   │   └── device-lamp.component.ts
│   │   │   ├── device-single/
│   │   │   │   ├── device-single.component.html
│   │   │   │   ├── device-single.component.scss
│   │   │   │   └── device-single.component.ts
│   │   │   ├── device-temperature/
│   │   │   │   ├── device-temperature.component.html
│   │   │   │   ├── device-temperature.component.scss
│   │   │   │   └── device-temperature.component.ts
│   │   │   ├── devices/
│   │   │   │   ├── devices.component.html
│   │   │   │   ├── devices.component.scss
│   │   │   │   └── devices.component.ts
│   │   │   ├── docs/
│   │   │   │   ├── docs-api-workaround/
│   │   │   │   │   ├── docs-api-workaround.component.html
│   │   │   │   │   ├── docs-api-workaround.component.scss
│   │   │   │   │   └── docs-api-workaround.component.ts
│   │   │   │   ├── docs.component.html
│   │   │   │   ├── docs.component.scss
│   │   │   │   ├── docs.component.ts
│   │   │   │   ├── docs.styling.scss
│   │   │   │   ├── restful/
│   │   │   │   │   ├── restful.component.html
│   │   │   │   │   ├── restful.component.scss
│   │   │   │   │   ├── restful.component.spec.ts
│   │   │   │   │   └── restful.component.ts
│   │   │   │   └── sending-information-https/
│   │   │   │       ├── sending-information-https.component.html
│   │   │   │       ├── sending-information-https.component.scss
│   │   │   │       ├── sending-information-https.component.spec.ts
│   │   │   │       └── sending-information-https.component.ts
│   │   │   ├── experimental/
│   │   │   │   ├── experimental.component.html
│   │   │   │   ├── experimental.component.scss
│   │   │   │   ├── experimental.component.spec.ts
│   │   │   │   └── experimental.component.ts
│   │   │   ├── gps/
│   │   │   │   ├── gps.component.html
│   │   │   │   ├── gps.component.scss
│   │   │   │   ├── gps.component.spec.ts
│   │   │   │   └── gps.component.ts
│   │   │   ├── if-not-english/
│   │   │   │   ├── if-not-english.component.html
│   │   │   │   ├── if-not-english.component.scss
│   │   │   │   ├── if-not-english.component.spec.ts
│   │   │   │   └── if-not-english.component.ts
│   │   │   ├── index/
│   │   │   │   ├── icon-widgets/
│   │   │   │   │   ├── icon-widgets.component.html
│   │   │   │   │   ├── icon-widgets.component.scss
│   │   │   │   │   └── icon-widgets.component.ts
│   │   │   │   ├── index.component.html
│   │   │   │   ├── index.component.scss
│   │   │   │   └── index.component.ts
│   │   │   ├── iot-common.service.ts
│   │   │   ├── iot-mock.interceptor.ts
│   │   │   ├── iot-mocks.service.ts
│   │   │   ├── iot-mocks.ts
│   │   │   ├── iot-module.reducers.ts
│   │   │   ├── iot-requests.service.ts
│   │   │   ├── iot-routes.ts
│   │   │   ├── iot.module.defs.ts
│   │   │   ├── iot.module.ts
│   │   │   ├── iot.navigation.ts
│   │   │   ├── locations/
│   │   │   │   ├── location-row/
│   │   │   │   │   ├── location-row.component.html
│   │   │   │   │   ├── location-row.component.scss
│   │   │   │   │   └── location-row.component.ts
│   │   │   │   ├── location-single/
│   │   │   │   │   ├── location-single.component.html
│   │   │   │   │   ├── location-single.component.scss
│   │   │   │   │   └── location-single.component.ts
│   │   │   │   ├── locations.component.html
│   │   │   │   ├── locations.component.scss
│   │   │   │   └── locations.component.ts
│   │   │   ├── places/
│   │   │   │   ├── places.component.html
│   │   │   │   ├── places.component.scss
│   │   │   │   └── places.component.ts
│   │   │   ├── realtime.service.ts
│   │   │   ├── reducers/
│   │   │   │   ├── devices.reducer.ts
│   │   │   │   ├── locations.reducer.ts
│   │   │   │   └── unconnectedSources.reducer.ts
│   │   │   ├── statistics/
│   │   │   │   ├── statistics.component.html
│   │   │   │   ├── statistics.component.scss
│   │   │   │   └── statistics.component.ts
│   │   │   ├── switch-widgets/
│   │   │   │   ├── switch-widgets.component.html
│   │   │   │   ├── switch-widgets.component.scss
│   │   │   │   └── switch-widgets.component.ts
│   │   │   ├── water-bubble/
│   │   │   │   ├── water-bubble.component.html
│   │   │   │   ├── water-bubble.component.scss
│   │   │   │   ├── water-bubble.component.spec.ts
│   │   │   │   └── water-bubble.component.ts
│   │   │   └── widgets/
│   │   │       ├── activities/
│   │   │       │   ├── activities.component.html
│   │   │       │   ├── activities.component.scss
│   │   │       │   ├── activities.component.spec.ts
│   │   │       │   └── activities.component.ts
│   │   │       ├── co2-widget/
│   │   │       │   ├── co2-widget.component.html
│   │   │       │   ├── co2-widget.component.scss
│   │   │       │   └── co2-widget.component.ts
│   │   │       ├── daily-statistics/
│   │   │       │   ├── daily-statistics.component.html
│   │   │       │   ├── daily-statistics.component.scss
│   │   │       │   ├── daily-statistics.component.spec.ts
│   │   │       │   └── daily-statistics.component.ts
│   │   │       ├── history-statistics/
│   │   │       │   ├── history-statistics.component.html
│   │   │       │   ├── history-statistics.component.scss
│   │   │       │   ├── history-statistics.component.spec.ts
│   │   │       │   └── history-statistics.component.ts
│   │   │       ├── humidity/
│   │   │       │   ├── humidity.component.html
│   │   │       │   ├── humidity.component.scss
│   │   │       │   └── humidity.component.ts
│   │   │       ├── kana-beta/
│   │   │       │   ├── kana-beta.component.html
│   │   │       │   ├── kana-beta.component.scss
│   │   │       │   └── kana-beta.component.ts
│   │   │       └── lamp-card/
│   │   │           ├── lamp-card.component.html
│   │   │           ├── lamp-card.component.scss
│   │   │           └── lamp-card.component.ts
│   │   ├── ng-media/
│   │   │   ├── components/
│   │   │   │   ├── canvas/
│   │   │   │   │   ├── canvas.component.html
│   │   │   │   │   ├── canvas.component.scss
│   │   │   │   │   ├── canvas.component.spec.ts
│   │   │   │   │   └── canvas.component.ts
│   │   │   │   ├── grid-view/
│   │   │   │   │   ├── grid-view.component.html
│   │   │   │   │   ├── grid-view.component.scss
│   │   │   │   │   ├── grid-view.component.spec.ts
│   │   │   │   │   └── grid-view.component.ts
│   │   │   │   ├── image-cropper/
│   │   │   │   │   ├── image-cropper.component.html
│   │   │   │   │   ├── image-cropper.component.scss
│   │   │   │   │   ├── image-cropper.component.spec.ts
│   │   │   │   │   └── image-cropper.component.ts
│   │   │   │   ├── image-editor/
│   │   │   │   │   ├── image-editor.component.html
│   │   │   │   │   ├── image-editor.component.scss
│   │   │   │   │   ├── image-editor.component.spec.ts
│   │   │   │   │   └── image-editor.component.ts
│   │   │   │   ├── media-details/
│   │   │   │   │   ├── media-details.component.html
│   │   │   │   │   ├── media-details.component.scss
│   │   │   │   │   ├── media-details.component.spec.ts
│   │   │   │   │   └── media-details.component.ts
│   │   │   │   ├── media-toolbar/
│   │   │   │   │   ├── media-toolbar.component.html
│   │   │   │   │   ├── media-toolbar.component.scss
│   │   │   │   │   ├── media-toolbar.component.spec.ts
│   │   │   │   │   └── media-toolbar.component.ts
│   │   │   │   ├── ng-media/
│   │   │   │   │   ├── ng-media.component.html
│   │   │   │   │   ├── ng-media.component.scss
│   │   │   │   │   ├── ng-media.component.spec.ts
│   │   │   │   │   └── ng-media.component.ts
│   │   │   │   ├── ng-media-selector/
│   │   │   │   │   ├── ng-media-selector.component.html
│   │   │   │   │   ├── ng-media-selector.component.scss
│   │   │   │   │   ├── ng-media-selector.component.spec.ts
│   │   │   │   │   └── ng-media-selector.component.ts
│   │   │   │   └── upload/
│   │   │   │       ├── upload.component.html
│   │   │   │       ├── upload.component.scss
│   │   │   │       ├── upload.component.spec.ts
│   │   │   │       └── upload.component.ts
│   │   │   ├── index.ts
│   │   │   ├── interfaces/
│   │   │   │   └── definitions.ts
│   │   │   ├── mocks.ts
│   │   │   ├── ng-media-module.ts
│   │   │   ├── ngm-assets/
│   │   │   │   ├── fonts/
│   │   │   │   │   └── dashicons.scss
│   │   │   │   └── style.scss
│   │   │   ├── services/
│   │   │   │   ├── detail-panel.service.spec.ts
│   │   │   │   ├── detail-panel.service.ts
│   │   │   │   ├── public.service.spec.ts
│   │   │   │   ├── public.service.ts
│   │   │   │   ├── requests.service.spec.ts
│   │   │   │   ├── requests.service.ts
│   │   │   │   ├── storage.ts
│   │   │   │   ├── store.service.spec.ts
│   │   │   │   ├── store.service.ts
│   │   │   │   ├── uploader.service.spec.ts
│   │   │   │   ├── uploader.service.ts
│   │   │   │   ├── utils.service.spec.ts
│   │   │   │   └── utils.service.ts
│   │   │   └── spinner/
│   │   │       ├── spinner.component.html
│   │   │       ├── spinner.component.scss
│   │   │       ├── spinner.component.spec.ts
│   │   │       └── spinner.component.ts
│   │   ├── ng5-basic/
│   │   │   ├── actions.service.ts
│   │   │   ├── authentication/
│   │   │   │   ├── authentication.module.ts
│   │   │   │   ├── common.scss
│   │   │   │   ├── core.service.spec.ts
│   │   │   │   ├── core.service.ts
│   │   │   │   ├── error-message/
│   │   │   │   │   ├── error-message.component.html
│   │   │   │   │   ├── error-message.component.scss
│   │   │   │   │   ├── error-message.component.spec.ts
│   │   │   │   │   └── error-message.component.ts
│   │   │   │   ├── forgot-password/
│   │   │   │   │   ├── forgot-password.component.html
│   │   │   │   │   ├── forgot-password.component.scss
│   │   │   │   │   ├── forgot-password.component.spec.ts
│   │   │   │   │   └── forgot-password.component.ts
│   │   │   │   ├── login-form/
│   │   │   │   │   ├── login-form.component.html
│   │   │   │   │   ├── login-form.component.scss
│   │   │   │   │   ├── login-form.component.spec.ts
│   │   │   │   │   └── login-form.component.ts
│   │   │   │   ├── material-input.directive.spec.ts
│   │   │   │   ├── material-input.directive.ts
│   │   │   │   ├── progress-line/
│   │   │   │   │   ├── progress-line.component.html
│   │   │   │   │   ├── progress-line.component.scss
│   │   │   │   │   └── progress-line.component.ts
│   │   │   │   ├── reset-password/
│   │   │   │   │   ├── reset-password.component.html
│   │   │   │   │   ├── reset-password.component.scss
│   │   │   │   │   ├── reset-password.component.spec.ts
│   │   │   │   │   └── reset-password.component.ts
│   │   │   │   ├── shared.ts
│   │   │   │   └── signup-form/
│   │   │   │       ├── signup-form.component.html
│   │   │   │       ├── signup-form.component.scss
│   │   │   │       ├── signup-form.component.spec.ts
│   │   │   │       └── signup-form.component.ts
│   │   │   ├── basic-styles.scss
│   │   │   ├── error-message/
│   │   │   │   ├── error-message.component.html
│   │   │   │   ├── error-message.component.scss
│   │   │   │   ├── error-message.component.spec.ts
│   │   │   │   └── error-message.component.ts
│   │   │   ├── footer/
│   │   │   │   ├── footer.component.html
│   │   │   │   ├── footer.component.scss
│   │   │   │   ├── footer.component.spec.ts
│   │   │   │   └── footer.component.ts
│   │   │   ├── globalization.service.ts
│   │   │   ├── layout/
│   │   │   │   ├── layout.component.html
│   │   │   │   ├── layout.component.scss
│   │   │   │   ├── layout.component.spec.ts
│   │   │   │   └── layout.component.ts
│   │   │   ├── nav-bar/
│   │   │   │   ├── nav-bar.component.html
│   │   │   │   ├── nav-bar.component.scss
│   │   │   │   ├── nav-bar.component.spec.ts
│   │   │   │   └── nav-bar.component.ts
│   │   │   ├── ng5-basic.module.ts
│   │   │   ├── ngx-sidebar/
│   │   │   │   ├── ngx-sidebar.component.html
│   │   │   │   ├── ngx-sidebar.component.scss
│   │   │   │   ├── ngx-sidebar.component.spec.ts
│   │   │   │   ├── ngx-sidebar.component.ts
│   │   │   │   ├── ngx-sidebar.module.ts
│   │   │   │   └── sidebar-controller.service.ts
│   │   │   ├── page-container/
│   │   │   │   ├── page-container.component.html
│   │   │   │   ├── page-container.component.scss
│   │   │   │   ├── page-container.component.spec.ts
│   │   │   │   └── page-container.component.ts
│   │   │   ├── profile-menu/
│   │   │   │   ├── profile-menu.component.html
│   │   │   │   ├── profile-menu.component.scss
│   │   │   │   ├── profile-menu.component.spec.ts
│   │   │   │   └── profile-menu.component.ts
│   │   │   ├── progress-line/
│   │   │   │   ├── progress-line.component.html
│   │   │   │   ├── progress-line.component.scss
│   │   │   │   └── progress-line.component.ts
│   │   │   ├── side-bar/
│   │   │   │   ├── side-bar.component.html
│   │   │   │   ├── side-bar.component.scss
│   │   │   │   ├── side-bar.component.spec.ts
│   │   │   │   └── side-bar.component.ts
│   │   │   ├── ui-icon-box/
│   │   │   │   ├── ui-icon-box.component.html
│   │   │   │   ├── ui-icon-box.component.scss
│   │   │   │   ├── ui-icon-box.component.spec.ts
│   │   │   │   └── ui-icon-box.component.ts
│   │   │   ├── ui-panel-box/
│   │   │   │   ├── ui-panel-box.component.html
│   │   │   │   ├── ui-panel-box.component.scss
│   │   │   │   ├── ui-panel-box.component.spec.ts
│   │   │   │   └── ui-panel-box.component.ts
│   │   │   └── ui-small-box/
│   │   │       ├── ui-small-box.component.html
│   │   │       ├── ui-small-box.component.scss
│   │   │       ├── ui-small-box.component.spec.ts
│   │   │       └── ui-small-box.component.ts
│   │   ├── services/
│   │   │   ├── iot-svg/
│   │   │   │   └── iot-svg.service.ts
│   │   │   ├── mock.interceptor.ts
│   │   │   ├── mocks.service.ts
│   │   │   ├── notification.service.ts
│   │   │   ├── permissions.service.ts
│   │   │   ├── requests.service.ts
│   │   │   ├── token.interceptor.ts
│   │   │   └── user.service.ts
│   │   ├── translations/
│   │   │   ├── fa.ts
│   │   │   └── pl.ts
│   │   └── users/
│   │       ├── reducers/
│   │       │   ├── roles.reducer.ts
│   │       │   └── users.reducer.ts
│   │       ├── role-archive/
│   │       │   ├── role-archive.component.html
│   │       │   ├── role-archive.component.scss
│   │       │   └── role-archive.component.ts
│   │       ├── role-single/
│   │       │   ├── role-single.component.html
│   │       │   ├── role-single.component.scss
│   │       │   └── role-single.component.ts
│   │       ├── translations/
│   │       │   └── users.module.en.ts
│   │       ├── user-common.service.ts
│   │       ├── user-mock.interceptor.ts
│   │       ├── user-mocks.service.ts
│   │       ├── user-module.reducers.ts
│   │       ├── user-requests.service.ts
│   │       ├── user-routes.ts
│   │       ├── user.module.defs.ts
│   │       ├── users-archive/
│   │       │   ├── users-archive.component.html
│   │       │   ├── users-archive.component.scss
│   │       │   └── users-archive.component.ts
│   │       ├── users-single/
│   │       │   ├── users-single.component.html
│   │       │   ├── users-single.component.scss
│   │       │   └── users-single.component.ts
│   │       ├── users.module.ts
│   │       └── users.navigation.ts
│   ├── assets/
│   │   ├── .gitkeep
│   │   ├── css/
│   │   │   └── forms-style.css
│   │   ├── fonts/
│   │   │   ├── LICENSE.txt
│   │   │   ├── README.txt
│   │   │   ├── config.json
│   │   │   ├── css/
│   │   │   │   ├── FFF-Forward.css
│   │   │   │   ├── animation.css
│   │   │   │   ├── fontello-codes.css
│   │   │   │   ├── fontello-embedded.css
│   │   │   │   ├── fontello-ie7-codes.css
│   │   │   │   ├── fontello-ie7.css
│   │   │   │   ├── fontello.css
│   │   │   │   └── icomoon.css
│   │   │   └── demo.html
│   │   ├── google-fonts/
│   │   │   └── quicksand/
│   │   │       └── import.css
│   │   ├── material-icon.scss
│   │   └── scss/
│   │       ├── _injects.scss
│   │       └── _vars.scss
│   ├── environments/
│   │   ├── environment.github.ts
│   │   ├── environment.hmr.ts
│   │   ├── environment.prod.ts
│   │   ├── environment.prodlocal.ts
│   │   ├── environment.prodmock.ts
│   │   └── environment.ts
│   ├── hmr.ts
│   ├── index-mobile.html
│   ├── index.html
│   ├── main.ts
│   ├── polyfills.ts
│   ├── styles.scss
│   ├── styling/
│   │   ├── _medias.scss
│   │   └── _mixins.scss
│   ├── tsconfig.app.json
│   ├── typings.d.ts
│   └── vendor/
│       └── lodash.ts
├── tsconfig.json
└── tslint.json

================================================
FILE CONTENTS
================================================

================================================
FILE: .angular-cli.json
================================================
{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "project": {
    "name": "angular5-iot-dashboard"
  },
  "apps": [
    {
      "root": "src",
      "outDir": "dist",
      "assets": [
        "assets",
        "favicon.ico"
      ],
      "index": "index.html",
      "main": "main.ts",
      "polyfills": "polyfills.ts",
      "test": "test.ts",
      "tsconfig": "tsconfig.app.json",
      "testTsconfig": "tsconfig.spec.json",
      "prefix": "app",
      "styles": [
        "../node_modules/bootstrap/dist/css/bootstrap.min.css",
        "assets/css/forms-style.css",
        "styles.scss",
        "../node_modules/simplebar/dist/simplebar.css"
      ],
      "scripts": [
        "../node_modules/simplebar/dist/simplebar.js"
      ],
      "stylePreprocessorOptions": {
        "includePaths": [
          "../src/assets/scss"
        ]
      },
      "environmentSource": "environments/environment.ts",
      "environments": {
        "dev": "environments/environment.ts",
        "prod": "environments/environment.prod.ts",
        "prodlocal": "environments/environment.prodlocal.ts",
        "prodmock": "environments/environment.prodmock.ts",
        "github": "environments/environment.github.ts",
        "hmr": "environments/environment.hmr.ts"
      }
    },
    {
      "root": "src",
      "outDir": "mobile/www",
      "assets": [
        "assets",
        "favicon.ico"
      ],
      "index": "index-mobile.html",
      "main": "main.ts",
      "polyfills": "polyfills.ts",
      "test": "test.ts",
      "tsconfig": "tsconfig.app.json",
      "testTsconfig": "tsconfig.spec.json",
      "prefix": "app",
      "styles": [
        "../node_modules/bootstrap/dist/css/bootstrap.min.css",
        "assets/css/forms-style.css",
        "styles.scss",
        "../node_modules/simplebar/dist/simplebar.css"
      ],
      "scripts": [
        "../node_modules/simplebar/dist/simplebar.js"
      ],
      "stylePreprocessorOptions": {
        "includePaths": [
          "../src/assets/scss"
        ]
      },
      "environmentSource": "environments/environment.ts",
      "environments": {
        "dev": "environments/environment.ts",
        "prod": "environments/environment.prod.ts",
        "hmr": "environments/environment.hmr.ts"
      }
    }
  ],
  "e2e": {
    "protractor": {
      "config": "./protractor.conf.js"
    }
  },
  "lint": [
    {
      "project": "src/tsconfig.app.json"
    },
    {
      "project": "src/tsconfig.spec.json"
    },
    {
      "project": "e2e/tsconfig.e2e.json"
    }
  ],
  "test": {
    "karma": {
      "config": "./karma.conf.js"
    }
  },
  "defaults": {
    "styleExt": "scss",
    "component": {
    }
  }
}


================================================
FILE: .circleci/config.yml
================================================
version: 2
jobs:
  build:
    working_directory: ~/app-name
    docker:
      - image: circleci/node:6-browsers
    steps:
      - checkout
      - restore_cache:
          key: dependency-cache-{{ checksum "yarn.lock" }}
      - run:
          name: install-dependencies
          command: yarn install
      - save_cache:
          key: dependency-cache-{{ checksum "yarn.lock" }}
          paths:
            - ~/.cache/yarn
            - ./node_modules
      - run:
          name: angular-lint
          command: yarn lint
      - run:
          name: angular-test
          command: yarn test -- --single-run --no-progress
      - run:
          name: angular-e2e
          command: yarn e2e
      - run:
          name: angular-build
          command: yarn lint
    # If you are using firebase for deployment, you can uncomment this part of the code.
    #   - deploy:
    #       name: Development server deploy
    #       command: |
    #         if [ "${CIRCLE_BRANCH}" == "develop" ]; then
    #             sudo npm install -g firebase-tools --no-progress
    #             sudo npm install -g @angular/cli --no-progress
    #             firebase use development
    #             firebase deploy --token=$FIREBASE_TOKEN --non-interactive
    #         fi

================================================
FILE: .editorconfig
================================================
# Editor configuration, see http://editorconfig.org
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
max_line_length = off
trim_trailing_whitespace = false


================================================
FILE: .firebaserc
================================================
{
  "projects": {
    "default": "smart-angular-dashboard"
  }
}


================================================
FILE: .gitignore
================================================
# See http://help.github.com/ignore-files/ for more about ignoring files.

# compiled output
/tmp
/out-tsc
mobile/node_modules
mobile/plugins
# dependencies
/node_modules
#package-lock.json

# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace

# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json

# misc
/.sass-cache
/connect.lock
/coverage
/libpeerconnection.log
npm-debug.log
testem.log
/typings
*.log.*

# e2e
/e2e/*.js
/e2e/*.map

# System Files
.DS_Store
Thumbs.db
dist-production/
.vscode
mobile/www/


================================================
FILE: .travis.yml
================================================
language: node_js
node_js:
  - '9'
branches:
  only:
  - master
before_script:
  - npm install -g @angular/cli@1.7.2
cache:
  yarn: true
  directories:
  - "$HOME/.yarn-cache"
  - node_modules
dist: trusty
addons:
  chrome: stable
before_install:
  - export CHROME_BIN=/usr/bin/google-chrome
  - export DISPLAY=:99.0
  - sh -e /etc/init.d/xvfb start
  - sudo apt-get update
  - sudo apt-get install -y libappindicator1 fonts-liberation
  - wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
  - sudo dpkg -i google-chrome*.deb
  - sudo sysctl fs.inotify.max_user_watches=524288
  - sudo sysctl fs.inotify.max_queued_events=524288
  - sudo sysctl -p

script:

  - npm run lint
  - npm run build
  - npm run build:mock
  - npm install cypress
  - npm install serve
  - cd /home/travis/build/owsolutions/angular5-iot-dashboard && PORT=4200 ./node_modules/.bin/serve dist &
  - sleep 10
  - npm run ci
  - npm install && npm run build:github
deploy:
  provider: pages
  skip-cleanup: true
  local-dir: dist
  github-token: $GITHUB_TOKEN  # Set in travis-ci.org dashboard, marked secure
  keep-history: true
  on:
    branch: master


================================================
FILE: README.md
================================================
[![Build Status](https://travis-ci.org/smart-dashboard/angular-dashboard.svg?branch=master)](https://travis-ci.org/smart-dashboard/angular-dashboard)

# Depricated! Visit https://pixelplux.com/product/torabito-iot-suite/

This project is no longer maintained. You need to use https://pixelplux.com/product/torabito-iot-suite/, for monitoring
your Arduino/ESP8266 project.


# Angular 5 Iot Dashboard

Angular 5 Dashboard is a management dashboard for many purposes, focused on IoT, smart home, and autonomy.
This project, is a fully functional app and is hosted on https://pixelplux.com/product/torabito-iot-suite/ as an enterprise product. We are sharing many components and our workflow here inside this repository.

This project can be used for Internet of things, reporting dashboard, user management, live monitoring and other other 
dashboard based projects for angular.

We will continously update the workflow of the application. You can use components from this project and get inspired how
an intellgence dashboard can be working.
Either you can fork this project, or build your own app, and import components from this repository.

Please try to keep components as untouched as possible if you want to get the weekly updates and improvements. In case your business logic is different from the way we are implementing ours, try to consult with us to build your own version,
and still get benefit of minor and major features from our developers and contributors.

keywords: Angular 6 Dashboard, Angular 5 Dashboard, Angular 4 Dashboard, Angular 2 Dashboard, Internet of things Angular 2, Realtime Angular App, Socket Angular App, Iot Dashboard using Angular, Interactive dashboard, Realtime Console,Realtime Console Angular.

# Stable enterprise features
We list our stable features that are working as enterprise level inside the application.

* User signup
* User signin
* User password reset
* Recieve incoming RESTful requests from devices (Arduino, Raspberry Pi)
* Create devices and managing them
* Interactive documentation for the api
* Create places and locations based on name and level
* Display realtime value in dashboard
* Mobile version support using cordova
* Collect user contact information for technical reasons.
* Manage user profiles

# Experimental features
* Add conditions for changing devices
* Read devices geographical location for Mobile version


# Supported languages

We are trying to cover as many as languages as possible. At the moment we do cover:

* English (United States)
* Polish (Poland)

Please feel free to contribute to this repository in case you want to add your language.

## Right to left Support

We do support RTL layout but some components are not integrated that well. Our focus was on layout, direction and etc.
We do support Persian language at the moment as experimental, and it's not provided in commercial version.
Marketting team would choose either if they want new languages or regions and it's out of the scope.

Currently supporting experimental

* Polish ( Poland )
* Persian ( Iran )
* English ( World Wide )

Target to support languages:

* Arabic (United Arab Emirates, Egypt)
* Turkish ( Turkey )
* German ( Germany, Austria )
* Spanish ( Spain )

Please feel free to contribute to the locales for your own country.

![Angular Iot Dashboard | Angular 5 Dashboard | Realtime Dashboard](angular-iot-dashboard.gif "Angular Iot Dashboard | Angular 5 Dashboard | Realtime Dashboard")


# Angular 6 Support
We are looking forward for angular 6 release to be of first people who are providing dashboard for Angular 6.
At the moment, all components are based on Angular 5.x

## Technical stack

* Project is based on Angular 5 and angular CLI. For developing please use `npm start` which also provides HMR, and for production level we use `npm run build`, which calls `ng *` tasks directly.
Please review the package.json for different building environments. *This application can be run without any api or microservices, all endpoints having interactive mocks*. Since each customer might need a different way of building the application, we just put building examples.
In case you are distributing this app again for your own purposes, please make your own environments and add them to `.angular-cli.json` file, and update the package, respectively.

* We are using highcharts library for our charts. For any incoming pull requests that containing other chart libraries, please open an issue first and describe why it's not possible to do it using highcharts.
* `lodash`, and `ngrx` store are used heavily for data flow.
* Async/Await concepts are everywhere since project is a realtime dashboard
* We are not supporting unit tests. We only use integration/e2e tests using cypress, and it will be run for each pull request. In case of heavy calculation or sensitive data implementation that requires unit testing, move it to other
package, publish it to npm and then install it inside this repository.

* Project demo is stored on github pages; https://owsolutions.github.io/angular5-iot-dashboard Hence we are commiting the dist directory for each build and given that, our dist folder is not necessarily the production. Nevertheless you need to build this application for yourself, since our configuration is different.

# Mobile version ( Experimental )
This application also will be bundled into a cordova app for Android applications. We put the apk files into github releases, which are not signed. Please feel free to sign them by your own keystore.

Read about signing a apk file here:
https://stackoverflow.com/questions/10930331/how-to-sign-an-already-compiled-apk

then, you can publish it or install it for test purposes. Please notice that we build our apk with mock data,
so that app is not connected to any remote server and is only, for testing and demonstration purposes.
Please fork the app, and update or CI/CD to build with your endpoint address or extra configuration.

## Live preview

You can see the latest deploy here: [https://owsolutions.github.io/angular5-iot-dashboard](https://owsolutions.github.io/angular5-iot-dashboard)

We are hosting demo version on github. For enterprise version, please contact us.

## Contribution guide
We are so much excited to receive Pull-Requests from you. There are some simple rules that we follow in our project:

* Please no comments on functions unless it's really necessary. Please refer to this article for reason: https://bradt.ca/blog/useless-code-comments/
* Open an issue for your pull request, and start your branch name with this format: `issue/[number]-this-is-my-branch` so we can track the issue until we close it.
* Make sure your code passes tests, linting and e2e tests. For new functionality, please add abundant tests.

## Copywrite
This project is free for educational usage, code review and non-commercial usage. For enterprise/commercial usage, you need to obtain a license and please contact us at connexion.founder@outlook.com


================================================
FILE: cypress/fixtures/example.json
================================================
{
  "name": "Using fixtures to represent data",
  "email": "hello@cypress.io",
  "body": "Fixtures are a great way to mock data for responses to routes"
}

================================================
FILE: cypress/integration/devices_spec.js
================================================
describe('Devices (CloudDevices)', function () {
  beforeEach(() => {
    cy.visit('http://localhost:4200');
    cy.get('.app-login-form-email').type('test@test.com');
    cy.get('.app-login-form-password').type('123321');
    cy.wait(100);
    cy.get('.app-login-form-submit').click();
  });

  afterEach(() => {
    cy.get('.ngx-menu-link-logout').click();
  });
  
  it('As a user, I must be able to create a new device, and connect to datasource', function () {
    cy.get('.ngx-menu-link-device').click();
    cy.wait(100);
    cy.get('.ngx-menu-link-device-create').click();

    cy.get('.app-device-general-name').type('Device 1');
    cy.get('.app-device-general-type').select('0');
    cy.get('.app-device-general-datasource').type('device-1');
    cy.get('.app-device-general-model').type('knx-v200');
    cy.get('.app-device-general-description').type('This is a test device');
    cy.get('.app-device-single-create').click();
    cy.wait(100);
  });

  it('As a user, I must be able to view list of all devices that I have in my dashboard', function () {
    cy.get('.ngx-menu-link-device').click();
    cy.wait(100);
    cy.get('.ngx-menu-link-device-list').click();
  });
});


================================================
FILE: cypress/integration/locations_spec.js
================================================
describe('Locations tests', function () {
  beforeEach(() => {
    cy.visit('http://localhost:4200');
    cy.get('.app-login-form-email').type('test@test.com');
    cy.get('.app-login-form-password').type('123321');

    cy.wait(100);
    cy.get('.app-login-form-submit').click();
  });

  afterEach(() => {
    // cy.get('.ngx-menu-link-logout').click();
  });
  
  it('It must be able to create a new location by feeling the form', function () {
    cy.get('.ngx-menu-link-location').click();
    cy.wait(100);
    cy.get('.ngx-menu-link-location-create').click();

    cy.get('.app-location-single-name').type('Location 1');
    cy.get('.app-location-single-level').select('4');
    cy.get('.app-location-single-create').click();
    cy.wait(100);
  });

  // it('We must able to see devices list and created device as well.', function () {
  //   cy.get('.ngx-menu-link-device').click();
  //   cy.wait(100);
  //   cy.get('.ngx-menu-link-device-list').click();

  //   cy.get('.app-devices-table').find('tr').should('have.length', 11);
  // });
});


================================================
FILE: cypress/integration/profile_spec.js
================================================
describe('Profile test', function () {
  beforeEach(() => {
    cy.visit('http://localhost:4200');
    cy.get('.app-login-form-email').type('test@test.com');
    cy.get('.app-login-form-password').type('123321');

    cy.wait(100);
    cy.get('.app-login-form-submit').click();
  });

  afterEach(() => {
    // cy.get('.ngx-menu-link-logout').click();
  });
  
  it('Must update the user profile details, such as name, lastname and phone', function () {
    cy.get('.app-profile-view').click();
    cy.wait(100);

    cy.get('.app-profile-firstname').clear().type('Ali');
    cy.get('.app-profile-lastname').clear().type('Torabi');
    cy.get('.app-profile-phone').clear().type('+601151100000');
    cy.get('.app-profile-update').click();
  });

  // it('We must able to see devices list and created device as well.', function () {
  //   cy.get('.ngx-menu-link-device').click();
  //   cy.wait(100);
  //   cy.get('.ngx-menu-link-device-list').click();

  //   cy.get('.app-devices-table').find('tr').should('have.length', 11);
  // });
});


================================================
FILE: cypress/integration/public_pages_spec.js
================================================

describe('Authentication and public pages', function () {
  beforeEach(() => {
    cy.visit('http://localhost:4200');
  });
  it('As a user, I must me able to reset my password with the token', function () {
    cy.visit('http://localhost:4200/#/reset-password/543654');
    cy.get('.app-reset-password-pass1').click().type('123321');
    cy.get('.app-reset-password-pass2').click().type('123321');
    cy.wait(100);
    cy.get('.app-reset-password-key').should($el => {
      expect($el[0].value).to.eq('543654');
    })
    cy.get('.app-reset-password-pass1').click().type('{enter}');
    
  });
  it('As a user, I must be able to signup using an email and password', function () {
    cy.get('.login-header span').should(($el) => {
      expect($el).to.contain('Welcome');
    });
    cy.get('.app-signup-button').click();
    cy.wait(100);
    cy.get('.app-signup-form-email').type('test@test.com');
    cy.get('.app-signup-form-password').type('123321');
    cy.wait(100);
    cy.get('.app-signup-form-submit').click();
  });

  it('As a user, I must be able to sign-in into my dashboard with my email and password', function () {
    cy.get('.app-login-form-email').type('test@test.com');
    cy.get('.app-login-form-password').type('123321');
    cy.wait(100);
    cy.get('.app-login-form-submit').click();
  });
  it('As a user, I must be able to request a forget password and get link by giving my email', () => {
    cy.get('.app-forget-password-link').click();
    cy.get('.app-forget-password-email').type('test@test.com').type('{enter}');
    cy.wait(100);
    cy.get('.success-message .success-text').should(($el) => {
      expect($el).to.contain('Request success');
    });
  });   
});


================================================
FILE: cypress/plugins/index.js
================================================
// ***********************************************************
// This example plugins/index.js can be used to load plugins
//
// You can change the location of this file or turn off loading
// the plugins file with the 'pluginsFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/plugins-guide
// ***********************************************************

// This function is called when a project is opened or re-opened (e.g. due to
// the project's config changing)

module.exports = (on, config) => {
  // `on` is used to hook into various events Cypress emits
  // `config` is the resolved Cypress config
}


================================================
FILE: cypress/support/commands.js
================================================
// ***********************************************
// This example commands.js shows you how to
// create various custom commands and overwrite
// existing commands.
//
// For more comprehensive examples of custom
// commands please read more here:
// https://on.cypress.io/custom-commands
// ***********************************************
//
//
// -- This is a parent command --
// Cypress.Commands.add("login", (email, password) => { ... })
//
//
// -- This is a child command --
// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... })
//
//
// -- This is a dual command --
// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... })
//
//
// -- This is will overwrite an existing command --
// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... })


================================================
FILE: cypress/support/index.js
================================================
// ***********************************************************
// This example support/index.js is processed and
// loaded automatically before your test files.
//
// This is a great place to put global configuration and
// behavior that modifies Cypress.
//
// You can change the location of this file or turn off
// automatically serving support files with the
// 'supportFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/configuration
// ***********************************************************

// Import commands.js using ES2015 syntax:
import './commands'

// Alternatively you can use CommonJS syntax:
// require('./commands')


================================================
FILE: cypress.json
================================================
{
  "videoRecording": false
}


================================================
FILE: dist/3rdpartylicenses.txt
================================================
date-fns@1.29.0
MIT
# License

date-fns is licensed under the [MIT license](http://kossnocorp.mit-license.org).
Read more about MIT at [TLDRLegal](https://tldrlegal.com/license/mit-license).

cache-loader@1.2.2
MIT
Copyright JS Foundation and other contributors

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

@angular-devkit/build-optimizer@0.3.2
MIT
The MIT License

Copyright (c) 2017 Google, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

backo2@1.0.2
MIT
MIT

yamljs@0.3.0
MIT
Copyright (c) 2010 Jeremy Faivre

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

engine.io-parser@2.1.2
MIT
(The MIT License)

Copyright (c) 2016 Guillermo Rauch (@rauchg)

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

webpack@3.11.0
MIT
Copyright JS Foundation and other contributors

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

engine.io-client@3.2.1
MIT
(The MIT License)

Copyright (c) 2014-2015 Automattic <dev@cloudup.com>

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

has-binary2@1.0.3
MIT
The MIT License (MIT)

Copyright (c) 2014 Kevin Roark

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

url-matcher@0.2.2
MIT
The MIT License (MIT)

Copyright (c) 2015 Giacomo Tagliabue

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

sails.io.js@1.2.1
MIT
MIT

lodash.times@4.3.2
MIT
Copyright jQuery Foundation and other contributors <https://jquery.org/>

Based on Underscore.js, copyright Jeremy Ashkenas,
DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>

This software consists of voluntary contributions made by many
individuals. For exact contribution history, see the revision history
available at https://github.com/lodash/lodash

The following license applies to all parts of this software except as
documented below:

====

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

====

Copyright and related rights for sample code are waived via CC0. Sample
code is defined as all source code displayed within the prose of the
documentation.

CC0: http://creativecommons.org/publicdomain/zero/1.0/

====

Files located in the node_modules and vendor directories are externally
maintained libraries used by this software which have their own
licenses; we recommend you read them, as their terms may differ from the
terms above.

lodash.random@3.2.0
MIT
Copyright jQuery Foundation and other contributors <https://jquery.org/>

Based on Underscore.js, copyright Jeremy Ashkenas,
DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>

This software consists of voluntary contributions made by many
individuals. For exact contribution history, see the revision history
available at https://github.com/lodash/lodash

The following license applies to all parts of this software except as
documented below:

====

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

====

Copyright and related rights for sample code are waived via CC0. Sample
code is defined as all source code displayed within the prose of the
documentation.

CC0: http://creativecommons.org/publicdomain/zero/1.0/

====

Files located in the node_modules and vendor directories are externally
maintained libraries used by this software which have their own
licenses; we recommend you read them, as their terms may differ from the
terms above.

yeast@0.1.2
MIT
The MIT License (MIT)

Copyright (c) 2015 Unshift.io, Arnout Kazemier,  the Contributors.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

socket.io-client@2.1.1
MIT
The MIT License (MIT)

Copyright (c) 2014 Guillermo Rauch


Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

base64-js@1.3.0
MIT
The MIT License (MIT)

Copyright (c) 2014

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

ms@2.0.0
MIT
The MIT License (MIT)

Copyright (c) 2016 Zeit, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

buffer@4.9.1
MIT
The MIT License (MIT)

Copyright (c) Feross Aboukhadijeh, and other contributors.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

debug@3.1.0
MIT
(The MIT License)

Copyright (c) 2014 TJ Holowaychuk <tj@vision-media.ca>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software 
and associated documentation files (the 'Software'), to deal in the Software without restriction, 
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial 
portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

lodash@4.17.10
MIT
Copyright JS Foundation and other contributors <https://js.foundation/>

Based on Underscore.js, copyright Jeremy Ashkenas,
DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>

This software consists of voluntary contributions made by many
individuals. For exact contribution history, see the revision history
available at https://github.com/lodash/lodash

The following license applies to all parts of this software except as
documented below:

====

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

====

Copyright and related rights for sample code are waived via CC0. Sample
code is defined as all source code displayed within the prose of the
documentation.

CC0: http://creativecommons.org/publicdomain/zero/1.0/

====

Files located in the node_modules and vendor directories are externally
maintained libraries used by this software which have their own
licenses; we recommend you read them, as their terms may differ from the
terms above.

uuid@3.3.2
MIT
The MIT License (MIT)

Copyright (c) 2010-2016 Robert Kieffer and other contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

socket.io-parser@3.2.0
MIT
(The MIT License)

Copyright (c) 2014 Guillermo Rauch <guillermo@learnboost.com>

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the 'Software'), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

lodash.isnumber@3.0.3
MIT
Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas,
DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

arraybuffer.slice@0.0.7
MIT
Copyright (C) 2013 Rase-

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

process@0.11.10
MIT
(The MIT License)

Copyright (c) 2013 Roman Shtylman <shtylman@gmail.com>

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

@angular/core@5.2.11
MIT
MIT

@ngx-translate/core@9.1.1
MIT
MIT

after@0.8.2
MIT
Copyright (c) 2011 Raynos.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

node-libs-browser@2.1.0
MIT
(The MIT License)

Copyright (c) 2012 Tobias Koppers

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

has-cors@1.1.0
MIT
MIT

to-array@0.1.4
MIT
Copyright (c) 2012 Raynos.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

invariant@2.2.4
MIT
MIT License

Copyright (c) 2013-present, Facebook, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

parseuri@0.0.5
MIT
The MIT License (MIT)

Copyright (c) 2014 Gal Koren

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

parseqs@0.0.5
MIT
The MIT License (MIT)

Copyright (c) 2015 Gal Koren

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

base64-arraybuffer@0.1.5
MIT
MIT

lodash.merge@4.6.1
MIT
Copyright JS Foundation and other contributors <https://js.foundation/>

Based on Underscore.js, copyright Jeremy Ashkenas,
DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>

This software consists of voluntary contributions made by many
individuals. For exact contribution history, see the revision history
available at https://github.com/lodash/lodash

The following license applies to all parts of this software except as
documented below:

====

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

====

Copyright and related rights for sample code are waived via CC0. Sample
code is defined as all source code displayed within the prose of the
documentation.

CC0: http://creativecommons.org/publicdomain/zero/1.0/

====

Files located in the node_modules and vendor directories are externally
maintained libraries used by this software which have their own
licenses; we recommend you read them, as their terms may differ from the
terms above.

component-emitter@1.2.1
MIT
(The MIT License)

Copyright (c) 2014 Component contributors <dev@component.io>

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

lodash.values@4.3.0
MIT
Copyright jQuery Foundation and other contributors <https://jquery.org/>

Based on Underscore.js, copyright Jeremy Ashkenas,
DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>

This software consists of voluntary contributions made by many
individuals. For exact contribution history, see the revision history
available at https://github.com/lodash/lodash

The following license applies to all parts of this software except as
documented below:

====

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

====

Copyright and related rights for sample code are waived via CC0. Sample
code is defined as all source code displayed within the prose of the
documentation.

CC0: http://creativecommons.org/publicdomain/zero/1.0/

====

Files located in the node_modules and vendor directories are externally
maintained libraries used by this software which have their own
licenses; we recommend you read them, as their terms may differ from the
terms above.

isarray@1.0.0
MIT
MIT

ieee754@1.1.12
BSD-3-Clause
Copyright (c) 2008, Fair Oaks Labs, Inc.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice,
   this list of conditions and the following disclaimer.

 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.

 * Neither the name of Fair Oaks Labs, Inc. nor the names of its contributors
   may be used to endorse or promote products derived from this software
   without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

lodash.flatten@4.4.0
MIT
Copyright jQuery Foundation and other contributors <https://jquery.org/>

Based on Underscore.js, copyright Jeremy Ashkenas,
DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>

This software consists of voluntary contributions made by many
individuals. For exact contribution history, see the revision history
available at https://github.com/lodash/lodash

The following license applies to all parts of this software except as
documented below:

====

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

====

Copyright and related rights for sample code are waived via CC0. Sample
code is defined as all source code displayed within the prose of the
documentation.

CC0: http://creativecommons.org/publicdomain/zero/1.0/

====

Files located in the node_modules and vendor directories are externally
maintained libraries used by this software which have their own
licenses; we recommend you read them, as their terms may differ from the
terms above.

@angular/common@5.2.11
MIT
MIT

@angular/platform-browser@5.2.11
MIT
MIT

@angular/forms@5.2.11
MIT
MIT

angular2-toaster@5.1.0
MIT
The MIT License (MIT)

Copyright (c) 2016-2018 Stabzs

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

angular-calendar@0.24.1
MIT
The MIT License (MIT)

Copyright (c) 2016 Matt Lewis

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

sass-material-colors@0.0.5
MIT
Copyright (c) 2014 minusfive

# MIT License

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

@angular/animations@5.2.11
MIT
MIT

@angular/router@5.2.11
MIT
MIT

response-type@1.0.3
ISC
ISC

@ngrx/store@5.2.0
MIT
The MIT License (MIT)

Copyright (c) 2017 Brandon Roberts, Mike Ryan, Victor Savkin, Rob Wormald

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

@types/lodash@4.14.87
MIT
MIT License

    Copyright (c) Microsoft Corporation. All rights reserved.

    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all
    copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    SOFTWARE

@ng-bootstrap/ng-bootstrap@1.1.2
MIT
The MIT License (MIT)

Copyright (c) 2015-2018 Angular ng-bootstrap team

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

calendar-utils@0.1.2
MIT
The MIT License (MIT)

Copyright (c) 2016 Matt Lewis

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

positioning@1.4.0
MIT
MIT License

Copyright (c) 2017 Matt Lewis

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

angular-draggable-droppable@2.0.0
MIT
The MIT License (MIT)

Copyright (c) 2016 Matt Lewis

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

angular-resizable-element@2.0.0
MIT
The MIT License (MIT)

Copyright (c) 2016 Matt Lewis

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

ngx-toggle-switch@2.0.5
MIT
MIT

realtime-document@0.0.6
MIT
MIT

@angular/platform-browser-dynamic@5.2.11
MIT
MIT

core-js@2.5.7
MIT
Copyright (c) 2014-2018 Denis Pushkarev

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

intl@1.2.5
MIT
The MIT License (MIT)

Copyright (c) 2013 Andy Earnshaw

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.


------------------------------------------------------------------------------
Contents of the `locale-data` directory are a modified form of the Unicode CLDR
data found at http://www.unicode.org/cldr/data/.  It comes with the following
license.

COPYRIGHT AND PERMISSION NOTICE

Copyright (c) 1991-2013 Unicode, Inc. All rights reserved. Distributed under
the Terms of Use in http://www.unicode.org/copyright.html.

Permission is hereby granted, free of charge, to any person obtaining a copy of
the Unicode data files and any associated documentation (the "Data Files") or
Unicode software and any associated documentation (the "Software") to deal in
the Data Files or Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, and/or sell copies
of the Data Files or Software, and to permit persons to whom the Data Files or
Software are furnished to do so, provided that (a) the above copyright
notice(s) and this permission notice appear with all copies of the Data Files
or Software, (b) both the above copyright notice(s) and this permission notice
appear in associated documentation, and (c) there is clear notice in each
modified Data File or in the Software as well as in the documentation
associated with the Data File(s) or Software that the data or software has been
modified.

THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD
PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN
THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR
SOFTWARE.

Except as contained in this notice, the name of a copyright holder shall not be
used in advertising or otherwise to promote the sale, use or other dealings in
these Data Files or Software without prior written authorization of the
copyright holder.

Unicode and the Unicode logo are trademarks of Unicode, Inc. in the United
States and other countries. All third party trademarks referenced herein are
the property of their respective owners.

zone.js@0.8.26
MIT
The MIT License

Copyright (c) 2016-2018 Google, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

simplebar@2.6.1
MIT
The MIT License (MIT)

Copyright (c) 2015 Jonathan Nicol

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

bootstrap@4.1.3
MIT
The MIT License (MIT)

Copyright (c) 2011-2018 Twitter, Inc.
Copyright (c) 2011-2018 The Bootstrap Authors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

================================================
FILE: dist/assets/css/forms-style.css
================================================
.j-forms {
  position: relative;
}
.j-forms .input {
  position: relative;
}
.j-forms .unit {
  position: relative;
  margin-bottom: 25px;
}
.j-forms .link {
  color: #555;
  font-size: 14px;
  line-height: inherit;
  text-decoration: none;
}
.j-forms .link:hover {
  border-bottom: none;
  color: #17bab8;
}
.j-forms .inline-group {
  display: inline-block;
}
.j-forms .hidden {
  display: none;
}
/* Reset for -webkit / -moz browser
=============================== */
.j-forms input[type="search"]::-webkit-search-decoration,
.j-forms input[type="search"]::-webkit-search-cancel-button,
.j-forms input[type="search"]::-webkit-search-results-button,
.j-forms input[type="search"]::-webkit-search-results-decoration {
  display: none;
}
.j-forms select,
.j-forms input[type="button"],
.j-forms input[type="submit"],
.j-forms input[type="search"] {
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
/* Header
=============================== */
.j-forms .header {
  background-color: #3f51b5;
  border-top: 1px solid #7986cb;
  -webkit-border-radius: 3px 3px 0 0;
  -moz-border-radius: 3px 3px 0 0;
  -o-border-radius: 3px 3px 0 0;
  border-radius: 3px 3px 0 0;
  -webkit-box-shadow: 0 6px 3px -3px rgba(63, 81, 181, 0.5);
  -moz-box-shadow: 0 6px 3px -3px rgba(63, 81, 181, 0.5);
  -o-box-shadow: 0 6px 3px -3px rgba(63, 81, 181, 0.5);
  box-shadow: 0 6px 3px -3px rgba(63, 81, 181, 0.5);
  display: block;
  position: relative;
}
.j-forms .header > i {
  color: #fff;
  font-size: 31px;
  float: left;
  padding: 31px 15px 0 25px;
}
.j-forms .header p {
  color: #fff;
  margin: 0;
  padding: 30px 25px;
  font-size: 30px;
  text-transform: uppercase;
}
/* Content
=============================== */
.j-forms .form-content {
  padding: 0px;
}
.j-forms .form-content:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}
/* Footer
=============================== */
.j-forms .form-footer {
  display: block;
}
.j-forms .form-footer:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}
/* Dividers
=============================== */
.j-forms .divider,
.j-forms .divider-text {
  border-top: 1px solid #eee;
  height: 0;
}
.j-forms .divider-text {
  text-align: center;
}
.j-forms .divider-text span {
  border: 1px solid #eee;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
  background-color: #f5f5f5;
  color: #666;
  font-size: 16px;
  padding: 6px 15px;
  position: relative;
  top: -15px;
  white-space: nowrap;
}
/* Gap-top / gap-bottom classes
=============================== */
.j-forms .gap-top-20 {
  margin-top: 20px;
}
/* text-divider top gap after "content"/"j-row" classes */
.j-forms .gap-top-45 {
  margin-top: 45px;
}
/* text-divider top gap after "unit" class */
.j-forms .gap-bottom-45 {
  margin-bottom: 45px;
}
/* text-divider bottom gap */
.j-forms .gap-bottom-25 {
  margin-bottom: 25px;
}
/* line-divider bottom gap */
/* Labels
=============================== */
.j-forms label {
  display: block;
  color: inherit;
  font-weight: normal;
  text-align: left;
  margin-bottom: 0;
}

body[dir="rtl"] .j-forms label{
  text-align: right;
}

.j-forms .label {
  font-size: 14px;
  margin-bottom: 6px;
  line-height: 14px;
  height: 14px;
}
.j-forms .label-center {
  height: 40px;
  line-height: 40px;
  text-align: center;
  margin-bottom: 0;
}
.j-forms .label-left {
  height: 40px;
  line-height: 40px;
  text-align: left;
  margin-bottom: 0;
}
.j-forms .j-row > .label {
  padding-left: 10px;
}
/* Radio and checkbox
=============================== */
.j-forms .radio,
.j-forms .checkbox,
.j-forms .radio-toggle,
.j-forms .checkbox-toggle {
  color: rgba(0, 0, 0, 0.87);
  cursor: pointer;
  font-size: 15px;
  height: 15px;
  margin-bottom: 4px;
  position: relative;
  line-height: 15px;
}
.j-forms .radio,
.j-forms .checkbox,
.j-forms .inline-group .radio,
.j-forms .inline-group .checkbox {
  padding: 9px 0 8px 32px;
}

body[dir="rtl"] .j-forms .radio,
body[dir="rtl"] .j-forms .checkbox,
body[dir="rtl"] .j-forms .inline-group .radio,
body[dir="rtl"] .j-forms .inline-group .checkbox {
  padding: 9px 32px 8px 0px;
}

.j-forms .radio-toggle,
.j-forms .checkbox-toggle,
.j-forms .inline-group .radio-toggle,
.j-forms .inline-group .checkbox-toggle {
  padding: 9px 0 8px 58px;
}
.j-forms .radio:last-child,
.j-forms .checkbox:last-child,
.j-forms .radio-toggle:last-child,
.j-forms .checkbox-toggle:last-child {
  margin-bottom: 0;
}
.j-forms .inline-group .radio,
.j-forms .inline-group .checkbox,
.j-forms .inline-group .radio-toggle,
.j-forms .inline-group .checkbox-toggle {
  display: inline-block;
  margin-right: 25px;
}
.j-forms .radio input,
.j-forms .checkbox input,
.j-forms .radio-toggle input,
.j-forms .checkbox-toggle input {
  position: absolute;
  left: -9999px;
}

body[dir="rtl"] .j-forms .radio input,
body[dir="rtl"] .j-forms .checkbox input,
body[dir="rtl"] .j-forms .radio-toggle input,
body[dir="rtl"] .j-forms .checkbox-toggle input {
  position: absolute;
  right: -9999px;
}

.j-forms .radio i,
.j-forms .checkbox i,
.j-forms .checkbox-toggle i,
.j-forms .radio-toggle i {
  background-color: #fff;
  border: 2px solid rgba(0, 0, 0, 0.26);
  display: block;
  height: 18px;
  left: 0;
  outline: none;
  position: absolute;
  top: 5px;
  -webkit-transition: border-color 0.2s;
  -moz-transition: border-color 0.2s;
  -ms-transition: border-color 0.2s;
  -o-transition: border-color 0.2s;
  transition: border-color 0.2s;
}

body[dir="rtl"] .j-forms .radio i,
body[dir="rtl"] .j-forms .checkbox i,
body[dir="rtl"] .j-forms .checkbox-toggle i,
body[dir="rtl"] .j-forms .radio-toggle i {
  left: auto !important;
  right: 0px;
}

.j-forms .radio i,
.j-forms .checkbox i {
  width: 18px;
}
.j-forms .checkbox-toggle i,
.j-forms .radio-toggle i {
  width: 44px;
}
.j-forms .checkbox i,
.j-forms .checkbox-toggle i {
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  -o-border-radius: 0px;
  border-radius: 0px;
}
.j-forms .radio i,
.j-forms .radio i:after,
.j-forms .radio-toggle i:before {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
}
.j-forms .radio-toggle i {
  -webkit-border-radius: 13px;
  -moz-border-radius: 13px;
  -o-border-radius: 13px;
  border-radius: 13px;
}
.j-forms .checkbox-toggle i:before {
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  -o-border-radius: 0px;
  border-radius: 0px;
}
.j-forms .radio i:after {
  background-color: #17bab8;
  content: "";
  height: 8px;
  top: 5px;
  left: 5px;
  opacity: 0;
  position: absolute;
  width: 8px;
}
.j-forms .checkbox i:after {
  border-width: 0 0 3px 3px;
  border-bottom: solid #17bab8;
  border-left: solid #17bab8;
  content: "";
  height: 5px;
  top: 3px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
  left: 3px;
  opacity: 0;
  position: absolute;
  width: 10px;
}
.j-forms .radio input:checked + i:after,
.j-forms .checkbox input:checked + i:after {
  opacity: 1;
}
.j-forms .checkbox-toggle i:before,
.j-forms .radio-toggle i:before {
  border: none;
  background-color: #17bab8;
  content: "";
  display: block;
  height: 14px;
  left: 2px;
  position: absolute;
  top: 2px;
  width: 14px;
}
body[dir="rtl"] .j-forms .checkbox-toggle i:before,
body[dir="rtl"] .j-forms .radio-toggle i:before {
  left: auto !important;
  right: 2px !important;
}

.j-forms .checkbox-toggle input:checked + i:before,
.j-forms .radio-toggle input:checked + i:before {
  left: 28px;
}
.j-forms .checkbox-toggle i:after,
.j-forms .radio-toggle i:after,
.j-forms .checkbox-toggle input:checked + i:after,
.j-forms .radio-toggle input:checked + i:after {
  font-size: 10px;
  font-style: normal;
  font-weight: bold;
  line-height: 10px;
  position: absolute;
  top: 4px;
}
.j-forms .checkbox-toggle i:after,
.j-forms .radio-toggle i:after {
  content: attr(check);
  left: 22px;
}
.j-forms .checkbox-toggle input:checked + i:after,
.j-forms .radio-toggle input:checked + i:after {
  content: attr(uncheck);
  left: 6px;
}
.j-forms .checkbox:hover i,
.j-forms .radio:hover i,
.j-forms .checkbox-toggle:hover i,
.j-forms .radio-toggle:hover i {
  border: 2px solid rgba(0, 0, 0, 0.4);
}
.j-forms .radio input:checked + i,
.j-forms .checkbox input:checked + i,
.j-forms .radio-toggle input:checked + i,
.j-forms .checkbox-toggle input:checked + i {
  border: 2px solid #17bab8;
}
.j-forms .radio input:checked + i,
.j-forms .checkbox input:checked + i {
  color: #17bab8;
}
.j-forms .checkbox-toggle input:checked + i,
.j-forms .radio-toggle input:checked + i {
  background-color: #f5f5f5;
}
/* Widget
=============================== */
.j-forms .widget {
  position: relative;
}
.j-forms .widget .addon,
.j-forms .widget .addon-btn {
  background: #e0e0e0;
  border: none;
  color: rgba(0, 0, 0, 0.56);
  display: block;
  font: 16px 'Open Sans', Helvetica, Arial, sans-serif;
  height: 39px;
  line-height: 39px;
  padding: 0;
  position: absolute;
  outline: none;
  overflow: hidden;
  text-align: center;
  top: 0;
  z-index: 5;
}
.j-forms .widget .addon-btn,
.j-forms .widget .addon-btn i {
  cursor: pointer;
  -webkit-transition: all.2s;
  -moz-transition: all.2s;
  -ms-transition: all.2s;
  -o-transition: all.2s;
  transition: all.2s;
}
.j-forms .widget .addon-btn:hover,
.j-forms .widget .addon-btn:focus {
  background-color: #d6d6d6;
  color: rgba(0, 0, 0, 0.87);
}
.j-forms .widget .addon-btn:hover i,
.j-forms .widget .addon-btn:focus i {
  color: rgba(0, 0, 0, 0.61);
}
.j-forms .widget .adn-left {
  left: 0;
}
.j-forms .widget .adn-right {
  right: 0;
}
.j-forms .widget .addon i,
.j-forms .widget .addon-btn i {
  color: rgba(0, 0, 0, 0.34);
  font-size: 17px;
  z-index: 2;
}
.j-forms .widget .adn-50 {
  width: 50px;
}
.j-forms .widget .adn-130 {
  width: 130px;
}
.j-forms .widget.right-50 .input {
  padding-right: 50px;
}
.j-forms .widget.left-50 .input {
  padding-left: 50px;
}
.j-forms .widget.right-130 .input {
  padding-right: 130px;
}
.j-forms .widget.left-130 .input {
  padding-left: 130px;
}
.j-forms .widget .adn-left,
.j-forms .widget.right-50 .input input,
.j-forms .widget.right-130 .input input {
  -webkit-border-radius: 3px 0 0 3px;
  -moz-border-radius: 3px 0 0 3px;
  -o-border-radius: 3px 0 0 3px;
  border-radius: 3px 0 0 3px;
}
.j-forms .widget .adn-right,
.j-forms .widget.left-50 .input input,
.j-forms .widget.left-130 .input input {
  -webkit-border-radius: 0 3px 3px 0;
  -moz-border-radius: 0 3px 3px 0;
  -o-border-radius: 0 3px 3px 0;
  border-radius: 0 3px 3px 0;
}
.j-forms .widget.left-50.right-50 .input input,
.j-forms .widget.left-50.right-130 .input input,
.j-forms .widget.left-130.right-50 .input input,
.j-forms .widget.left-130.right-130 .input input {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0;
}
/* Inputs
=============================== */
/*.j-forms input[type="text"],
.j-forms input[type="password"],
.j-forms input[type="email"],
.j-forms input[type="search"],
.j-forms input[type="url"],
.j-forms textarea,
.j-forms select {
  -webkit-transition: all.4s;
  -moz-transition: all.4s;
  -ms-transition: all.4s;
  -o-transition: all.4s;
  transition: all.4s;
}*/
.j-forms .input textarea {
  height: 112px;
  overflow: auto;
  min-height: 52px;
  resize: vertical;
}
.j-forms .input textarea:focus {
  height: 128px;
}
/* Placeholders
=============================== */
.j-forms input::-webkit-input-placeholder,
.j-forms textarea::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.54);
}
.j-forms input::-moz-placeholder,
.j-forms textarea::-moz-placeholder {
  color: rgba(0, 0, 0, 0.54);
}
.j-forms input:-moz-placeholder,
.j-forms textarea:-moz-placeholder {
  color: rgba(0, 0, 0, 0.54);
}
.j-forms input:-ms-input-placeholder,
.j-forms textarea:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.54);
}
.j-forms input:focus::-webkit-input-placeholder,
.j-forms textarea:focus::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.36);
}
.j-forms input:focus::-moz-placeholder,
.j-forms textarea:focus::-moz-placeholder {
  color: rgba(0, 0, 0, 0.36);
}
.j-forms input:focus:-moz-placeholder,
.j-forms textarea:focus:-moz-placeholder {
  color: rgba(0, 0, 0, 0.36);
}
.j-forms input:focus:-ms-input-placeholder,
.j-forms textarea:focus:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.36);
}
/* Select
=============================== */
.j-forms select {
  padding-left: 13px;
}
.j-forms .multiple-select select {
  height: auto;
}
.j-forms .select i {
  background: #fff;
  height: 20px;
  position: absolute;
  pointer-events: none;
  top: 9px;
  right: 9px;
  width: 14px;
}
.j-forms .select i:after,
.j-forms .select i:before {
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  content: '';
  position: absolute;
  right: 3px;
}
.j-forms .select i:after {
  border-top: 6px solid rgba(0, 0, 0, 0.4);
  bottom: 1px;
}
.j-forms .select i:before {
  border-bottom: 6px solid rgba(0, 0, 0, 0.4);
  top: 3px;
}
.j-forms .select {
  position: relative;
}
/* Icons
=============================== */
.j-forms .icon-left,
.j-forms .icon-right {
  color: rgba(0, 0, 0, 0.24);
  font-size: 17px;
  height: 37px;
  line-height: 36px !important;
  opacity: .6;
  position: absolute;
  text-align: center;
  top: 1px;
  width: 42px;
  z-index: 2;
}
.j-forms .icon-left {
  border-right: 1px solid rgba(0, 0, 0, 0.24);
  left: 3px;
  height: 98%;
}

.j-forms .icon-left i{
  line-height: 2.2em;
}

.j-forms .icon-right {
  border-left: 1px solid rgba(0, 0, 0, 0.24);
  right: 3px;
}
.j-forms .icon-left ~ input,
.j-forms .icon-left ~ textarea {
  padding-left: 58px;
}
.j-forms .icon-right ~ input,
.j-forms .icon-right ~ textarea {
  padding-right: 58px;
}
/* File for upload
=============================== */
.j-forms .file-button input {
  bottom: -1px;
  font-size: 34px;
  opacity: 0;
  position: absolute;
  width: 108px;
  z-index: 0;
}
.j-forms .prepend-small-btn .file-button input,
.j-forms .prepend-big-btn .file-button input {
  left: 0;
}
.j-forms .append-small-btn .file-button input,
.j-forms .append-big-btn .file-button input {
  right: 0;
}
.j-forms .prepend-small-btn .file-button,
.j-forms .append-small-btn .file-button {
  width: 64px;
}
.j-forms .prepend-big-btn .file-button,
.j-forms .append-big-btn .file-button {
  width: 106px;
}
.j-forms .prepend-small-btn .file-button,
.j-forms .prepend-big-btn .file-button {
  left: 4px;
}
.j-forms .append-small-btn .file-button,
.j-forms .append-big-btn .file-button {
  right: 4px;
}
.j-forms .append-small-btn .file-button,
.j-forms .append-big-btn .file-button,
.j-forms .prepend-small-btn .file-button,
.j-forms .prepend-big-btn .file-button {
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  border-radius: 2px;
}
.j-forms .prepend-big-btn input[type="text"] {
  padding-left: 123px;
}
.j-forms .append-big-btn input[type="text"] {
  padding-right: 123px;
}
.j-forms .prepend-small-btn input[type="text"] {
  padding-left: 81px;
}
.j-forms .append-small-btn input[type="text"] {
  padding-right: 81px;
}
.j-forms .input input[type="file"] {
  cursor: pointer;
}
/* Buttons
=============================== */
.j-forms .primary-btn,
.j-forms .secondary-btn {
  border: none;
  color: #fff;
  display: block;
  cursor: pointer;
  float: right;
  margin: 0px 0 0px 10px;
  outline: none;
  white-space: nowrap;
}
.j-forms .primary-btn {
  position: relative;
}
.j-forms .form-content .primary-btn,
.j-forms .form-content .secondary-btn {
  margin: 0 0 20px 20px;
}
.j-forms .file-button {
  color: #fff;
  display: block;
  font-size: 12px;
  height: 31px;
  line-height: 31px;
  outline: none;
  overflow: hidden;
  position: absolute;
  text-align: center;
  top: 4px;
  z-index: 1;
  background-color: #17bab8;
}
.j-forms .primary-btn,
.j-forms .file-button,
.j-forms .secondary-btn {
  -webkit-transition: background.2s;
  -moz-transition: background.2s;
  -ms-transition: background.2s;
  -o-transition: background.2s;
  transition: background.2s;
}
.j-forms .primary-btn:hover.processing {
  cursor: wait;
}
.j-forms .file-button:hover + input {
  border: 1px solid #17bab8;
}
.j-forms .secondary-btn,
.j-forms .secondary-btn:hover,
.j-forms .secondary-btn:active {
  opacity: .5;
}
.j-forms .primary-btn.processing:before {
  background: rgba(255, 255, 255, 0.4);
  content: '';
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-animation: processing 3s ease-in-out infinite;
  -moz-animation: processing 3s ease-in-out infinite;
  -ms-animation: processing 3s ease-in-out infinite;
  -o-animation: processing 3s ease-in-out infinite;
  animation: processing 3s ease-in-out infinite;
}
@-webkit-keyframes processing {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@-moz-keyframes processing {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@-ms-keyframes processing {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@-o-keyframes processing {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@keyframes processing {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
/* Tooltip
=============================== */
.j-forms .tooltip,
.j-forms .tooltip-image {
  background-color: #455a64;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
  display: block;
  left: -9999px;
  opacity: 0;
  position: absolute;
  z-index: 100;
}
.j-forms .tooltip {
  color: #fff;
  line-height: 20px;
  padding: 5px 10px;
}
.j-forms .tooltip-image {
  padding: 2px 2px 1px;
}
.j-forms .input input:focus + .tooltip,
.j-forms .input textarea:focus + .tooltip,
.j-forms .select select:focus + .tooltip,
.j-forms .input input:focus + .tooltip-image,
.j-forms .input textarea:focus + .tooltip-image,
.j-forms .select select:focus + .tooltip-image {
  opacity: 1;
  z-index: 5;
}
.j-forms .tooltip-left-top {
  bottom: 100%;
  margin-bottom: 8px;
}
.j-forms .tooltip-left-top:before {
  border-color: #455a64 transparent;
  border-style: solid;
  border-width: 8px 7px 0;
  bottom: -6px;
  content: "";
  left: 16px;
  position: absolute;
}
.j-forms .input input:focus + .tooltip-left-top,
.j-forms .input textarea:focus + .tooltip-left-top,
.j-forms .select select:focus + .tooltip-left-top {
  left: 0;
  right: auto;
}
.j-forms .tooltip-right-top {
  bottom: 100%;
  margin-bottom: 8px;
}
.j-forms .tooltip-right-top:before {
  border-color: #455a64 transparent;
  border-style: solid;
  border-width: 8px 7px 0;
  bottom: -6px;
  content: "";
  position: absolute;
  right: 16px;
}
.j-forms .input input:focus + .tooltip-right-top,
.j-forms .input textarea:focus + .tooltip-right-top,
.j-forms .select select:focus + .tooltip-right-top {
  left: auto;
  right: 0;
}
.j-forms .tooltip-left-bottom {
  margin-top: 8px;
  top: 100%;
}
.j-forms .tooltip-left-bottom:before {
  border-color: #455a64 transparent;
  border-style: solid;
  border-width: 0 7px 8px;
  top: -6px;
  content: "";
  left: 16px;
  position: absolute;
}
.j-forms .input input:focus + .tooltip-left-bottom,
.j-forms .input textarea:focus + .tooltip-left-bottom,
.j-forms .select select:focus + .tooltip-left-bottom {
  left: 0;
  right: auto;
}
.j-forms .tooltip-right-bottom {
  margin-top: 8px;
  top: 100%;
}
.j-forms .tooltip-right-bottom:before {
  border-color: #455a64 transparent;
  border-style: solid;
  border-width: 0 7px 8px;
  top: -6px;
  content: "";
  right: 16px;
  position: absolute;
}
.j-forms .input input:focus + .tooltip-right-bottom,
.j-forms .input textarea:focus + .tooltip-right-bottom,
.j-forms .select select:focus + .tooltip-right-bottom {
  left: auto;
  right: 0;
}
.j-forms .tooltip-right-side {
  margin-left: 8px;
  top: 8px;
  white-space: nowrap;
}
.j-forms .tooltip-right-side:before {
  border-color: transparent #455a64;
  border-style: solid;
  border-width: 7px 8px 7px 0;
  content: "";
  left: -6px;
  position: absolute;
  top: 8px;
}
.j-forms .input input:focus + .tooltip-right-side,
.j-forms .input textarea:focus + .tooltip-right-side,
.j-forms .select select:focus + .tooltip-right-side {
  left: 100%;
}
.j-forms .tooltip-left-side {
  margin-right: 8px;
  top: 8px;
  white-space: nowrap;
}
.j-forms .tooltip-left-side:before {
  border-color: transparent #455a64;
  border-style: solid;
  border-width: 7px 0 7px 8px;
  content: "";
  right: -6px;
  position: absolute;
  top: 8px;
}
.j-forms .input input:focus + .tooltip-left-side,
.j-forms .input textarea:focus + .tooltip-left-side,
.j-forms .select select:focus + .tooltip-left-side {
  left: auto;
  right: 100%;
}
/* Status message
=============================== */
.j-forms .error-message,
.j-forms .success-message,
.j-forms .info-message,
.j-forms .warning-message {
  border: 1px solid;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
  display: block;
  padding: 15px;
}
.j-forms .error-message i,
.j-forms .success-message i,
.j-forms .info-message i,
.j-forms .warning-message i {
  font-size: 18px;
  float: left;
  height: 24px;
  line-height: 24px;
  padding-right: 10px;
}
.j-forms .error-message ul,
.j-forms .success-message ul,
.j-forms .info-message ul,
.j-forms .warning-message ul {
  margin: 0;
}
.j-forms span.error-view,
.j-forms span.success-view,
.j-forms span.warning-view,
.j-forms span.info-view {
  display: block;
  font-size: 14px;
  height: 14px;
  line-height: 14px;
  margin-top: 5px;
  padding: 0 2px;
}
.j-forms span.hint {
  display: block;
  font-size: 13px;
  color: inherit;
  height: 13px;
  line-height: 13px;
  margin-top: 5px;
  padding: 0 2px;
}
/* Disabled state
=============================== */
.j-forms .widget.disabled-view,
.j-forms .input.disabled-view,
.j-forms .select.disabled-view,
.j-forms .checkbox.disabled-view,
.j-forms .radio.disabled-view,
.j-forms .checkbox-toggle.disabled-view,
.j-forms .radio-toggle.disabled-view,
.j-forms .primary-btn.disabled-view,
.j-forms .secondary-btn.disabled-view,
.j-forms .file-button.disabled-view {
  cursor: default;
  opacity: .5;
}
.j-forms .input.disabled-view input[type="file"] {
  cursor: default;
}
.j-forms .widget.disabled-view input,
.j-forms .input.disabled-view input,
.j-forms .input.disabled-view textarea,
.j-forms .select.disabled-view select {
  border-color: rgba(0, 0, 0, 0.12) !important;
}
.j-forms .checkbox.disabled-view i,
.j-forms .radio.disabled-view i,
.j-forms .checkbox-toggle.disabled-view i,
.j-forms .radio-toggle.disabled-view i {
  border-color: rgba(0, 0, 0, 0.26) !important;
}
.j-forms .primary-btn.disabled-view,
.j-forms .secondary-btn.disabled-view,
.j-forms .disabled-view .file-button {
  background: #17bab8;
}
.j-forms .widget.disabled-view .addon-btn:hover,
.j-forms .widget.disabled-view .addon-btn:focus {
  background: #e0e0e0;
  cursor: default;
  color: rgba(0, 0, 0, 0.56);
}
.j-forms .widget.disabled-view .addon-btn i {
  color: rgba(0, 0, 0, 0.24) !important;
}
/* Error state
=============================== */
.j-forms .error-view .checkbox i,
.j-forms .error-view .radio i,
.j-forms .error-view .checkbox-toggle i,
.j-forms .error-view .radio-toggle i,
.j-forms .error-view input,
.j-forms .error-view select,
.j-forms .error-view textarea {
  background: #ffebee !important;
}
.j-forms .select.error-view i {
  background-color: #ffebee;
}
.j-forms .error-view .icon-left,
.j-forms .error-view .icon-right {
  border-color: #e57373;
}
.j-forms .error-view .icon-left,
.j-forms .error-view .icon-right,
.j-forms span.error-view,
.j-forms .error-message i {
  color: #ef5350;
}
.j-forms .error-message {
  background: #ffebee;
  border-color: #ef9a9a;
  color: #ef5350;
}
/* Success state
=============================== */
.j-forms .success-view .checkbox i,
.j-forms .success-view .radio i,
.j-forms .success-view .checkbox-toggle i,
.j-forms .success-view .radio-toggle i,
.j-forms .success-view input,
.j-forms .success-view select,
.j-forms .success-view textarea {
  background: #e8f5e9 !important;
}
.j-forms .select.success-view i {
  background-color: #e8f5e9;
}
.j-forms .success-view .icon-left,
.j-forms .success-view .icon-right {
  border-color: #81c784;
}
.j-forms .success-view .icon-left,
.j-forms .success-view .icon-right,
.j-forms span.success-view,
.j-forms .success-message i {
  color: #2e7d32;
}
.j-forms .success-message {
  background: #e8f5e9;
  border-color: #81c784;
  color: #2e7d32;
}
/* Warning state
=============================== */
.j-forms .warning-view .checkbox i,
.j-forms .warning-view .radio i,
.j-forms .warning-view .checkbox-toggle i,
.j-forms .warning-view .radio-toggle i,
.j-forms .warning-view input,
.j-forms .warning-view select,
.j-forms .warning-view textarea {
  background: #fff8e1 !important;
}
.j-forms .select.warning-view i {
  background-color: #fff8e1;
  -webkit-box-shadow: 0 0 0 12px #fff8e1;
  -moz-box-shadow: 0 0 0 12px #fff8e1;
  -o-box-shadow: 0 0 0 12px #fff8e1;
  box-shadow: 0 0 0 12px #fff8e1;
}
.j-forms .warning-view .icon-left,
.j-forms .warning-view .icon-right {
  border-color: #f9a825;
}
.j-forms .warning-view .icon-left,
.j-forms .warning-view .icon-right,
.j-forms span.warning-view,
.j-forms .warning-message i {
  color: #f57f17;
}
.j-forms .warning-message {
  background: #fff8e1;
  border-color: #f57f17;
  color: #f57f17;
}
/* Info state
=============================== */
.j-forms .info-view .checkbox i,
.j-forms .info-view .radio i,
.j-forms .info-view .checkbox-toggle i,
.j-forms .info-view .radio-toggle i,
.j-forms .info-view input,
.j-forms .info-view select,
.j-forms .info-view textarea {
  background: #e1f5fe !important;
}
.j-forms .select.info-view i {
  background-color: #e1f5fe;
  -webkit-box-shadow: 0 0 0 12px #e1f5fe;
  -moz-box-shadow: 0 0 0 12px #e1f5fe;
  -o-box-shadow: 0 0 0 12px #e1f5fe;
  box-shadow: 0 0 0 12px #e1f5fe;
}
.j-forms .info-view .icon-left,
.j-forms .info-view .icon-right {
  border-color: #0288d1;
}
.j-forms .info-view .icon-left,
.j-forms .info-view .icon-right,
.j-forms span.info-view,
.j-forms .info-message i {
  color: #01579b;
}
.j-forms .info-message {
  background: #e1f5fe;
  border-color: #01579b;
  color: #01579b;
}
/* Ratings
==================================== */
.j-forms .rating-group {
  color: rgba(0, 0, 0, 0.87);
  height: 30px;
  line-height: 30px;
  margin-bottom: 4px;
}
.j-forms .rating-group:last-child {
  margin-bottom: 0;
}
.j-forms .rating-group .label {
  float: left;
  font-size: 16px;
  height: 30px;
  line-height: 30px;
  margin-bottom: 0;
}
.j-forms .rating-group .ratings {
  float: right;
  height: 30px;
  line-height: 30px;
}
.j-forms .ratings input {
  left: -9999px;
  position: absolute;
}
.j-forms .ratings input + label {
  color: rgba(0, 0, 0, 0.26);
  cursor: pointer;
  font-size: 20px;
  float: right;
  padding: 0 2px;
  -webkit-transition: color.2s;
  -moz-transition: color.2s;
  -ms-transition: color.2s;
  -o-transition: color.2s;
  transition: color.2s;
}
.j-forms .ratings input + label:hover,
.j-forms .ratings input + label:hover ~ label,
.j-forms .ratings input:checked + label,
.j-forms .ratings input:checked + label ~ label {
  color: #17bab8;
}
/* Social links
==================================== */
.j-forms .social-btn,
.j-forms .social-icon {
  margin-bottom: 6px;
  position: relative;
}
.j-forms .social-icon {
  display: inline-block;
  margin-left: 2px;
  margin-right: 2px;
}
.j-forms .social-center {
  text-align: center;
}
.j-forms .social-btn i,
.j-forms .social-icon i {
  background-color: rgba(0, 0, 0, 0.15);
  color: #fff;
  cursor: pointer;
  font-size: 22px;
  left: 0;
  line-height: 48px;
  position: absolute;
  text-align: center;
  width: 48px;
  z-index: 2;
}
.j-forms .social-btn i {
  -webkit-border-radius: 3px 0 0 3px;
  -moz-border-radius: 3px 0 0 3px;
  -o-border-radius: 3px 0 0 3px;
  border-radius: 3px 0 0 3px;
}
.j-forms .social-icon i {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
}
.j-forms .social-btn button,
.j-forms .social-icon button {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
  border: none;
  color: #fff;
  cursor: pointer;
  font: 16px 'Open Sans', Helvetica, Arial, sans-serif;
  padding: 0 0 0 48px;
  outline: none;
  overflow: hidden;
  height: 48px;
  white-space: nowrap;
  -webkit-transition: background.2s;
  -moz-transition: background.2s;
  -ms-transition: background.2s;
  -o-transition: background.2s;
  transition: background.2s;
}
.j-forms .social-btn button {
  width: 100%;
}
.j-forms .social-icon button {
  width: 48px;
}
.j-forms .social-btn.vk button,
.j-forms .social-icon.vk button {
  background: #2f5070;
}
.j-forms .social-btn.vk:hover button,
.j-forms .social.vk:hover button {
  background: rgba(47, 80, 112, 0.85);
}
.j-forms .social-btn.skype button,
.j-forms .social-icon.skype button {
  background: #13b0ed;
}
.j-forms .social-btn.skype:hover button,
.j-forms .social-icon.skype:hover button {
  background: rgba(19, 176, 237, 0.85);
}
.j-forms .social-btn.yahoo button,
.j-forms .social-icon.yahoo button {
  background: #700e9c;
}
.j-forms .social-btn.yahoo:hover button,
.j-forms .social-icon.yahoo:hover button {
  background: rgba(112, 14, 156, 0.85);
}
.j-forms .social-btn.flickr button,
.j-forms .social-icon.flickr button {
  background: #fe3b93;
}
.j-forms .social-btn.flickr:hover button,
.j-forms .social-icon.flickr:hover button {
  background: rgba(254, 59, 147, 0.85);
}
.j-forms .social-btn.tumblr button,
.j-forms .social-icon.tumblr button {
  background: #384853;
}
.j-forms .social-btn.tumblr:hover button,
.j-forms .social-icon.tumblr:hover button {
  background: rgba(56, 72, 83, 0.85);
}
.j-forms .social-btn.google button,
.j-forms .social-icon.google button {
  background: #0868b9;
}
.j-forms .social-btn.google:hover button,
.j-forms .social-icon.google:hover button {
  background: rgba(8, 104, 185, 0.85);
}
.j-forms .social-btn.twitter button,
.j-forms .social-icon.twitter button {
  background: #2ca8d2;
}
.j-forms .social-btn.twitter:hover button,
.j-forms .social-icon.twitter:hover button {
  background: rgba(44, 168, 210, 0.85);
}
.j-forms .social-btn.youtube button,
.j-forms .social-icon.youtube button {
  background: #ce332c;
}
.j-forms .social-btn.youtube:hover button,
.j-forms .social-icon.youtube:hover button {
  background: rgba(206, 51, 44, 0.85);
}
.j-forms .social-btn.facebook button,
.j-forms .social-icon.facebook button {
  background: #305891;
}
.j-forms .social-btn.facebook:hover button,
.j-forms .social-icon.facebook:hover button {
  background: rgba(48, 88, 145, 0.85);
}
.j-forms .social-btn.linkedin button,
.j-forms .social-icon.linkedin button {
  background: #4498c8;
}
.j-forms .social-btn.linkedin:hover button,
.j-forms .social-icon.linkedin:hover button {
  background: rgba(68, 152, 200, 0.85);
}
.j-forms .social-btn.pinterest button,
.j-forms .social-icon.pinterest button {
  background: #c82828;
}
.j-forms .social-btn.pinterest:hover button,
.j-forms .social-icon.pinterest:hover button {
  background: rgba(200, 40, 40, 0.85);
}
.j-forms .social-btn.google-plus button,
.j-forms .social-icon.google-plus button {
  background: #ce4d39;
}
.j-forms .social-btn.google-plus:hover button,
.j-forms .social-icon.google-plus:hover button {
  background: rgba(206, 77, 57, 0.85);
}
/* Captcha
=============================== */
.j-forms .captcha-group {
  position: relative;
}
.j-forms .captcha-group .captcha {
  background-color: #e0e0e0;
  border: none;
  -webkit-border-radius: 3px 0 0 3px;
  -moz-border-radius: 3px 0 0 3px;
  -o-border-radius: 3px 0 0 3px;
  border-radius: 3px 0 0 3px;
  height: 48px;
  line-height: 48px;
  position: absolute;
  outline: none;
  text-align: center;
  top: 0;
  width: 90px;
}
.j-forms .captcha-group .input {
  padding-left: 90px;
}
.j-forms .captcha-group .input input {
  -webkit-border-radius: 0 3px 3px 0;
  -moz-border-radius: 0 3px 3px 0;
  -o-border-radius: 0 3px 3px 0;
  border-radius: 0 3px 3px 0;
}
/* Stepper
=============================== */
.j-forms .stepper {
  position: relative;
  padding-right: 40px;
}
.j-forms .stepper input {
  -webkit-border-radius: 3px 0 0 3px;
  -moz-border-radius: 3px 0 0 3px;
  -o-border-radius: 3px 0 0 3px;
  border-radius: 3px 0 0 3px;
}
.j-forms .stepper .stepper-wrapper {
  -webkit-border-radius: 0 3px 3px 0;
  -moz-border-radius: 0 3px 3px 0;
  -o-border-radius: 0 3px 3px 0;
  border-radius: 0 3px 3px 0;
  bottom: 0;
  outline: none;
  position: absolute;
  right: 0;
  top: 0;
  overflow: hidden;
  width: 40px;
}
.j-forms .stepper input::-webkit-inner-spin-button,
.j-forms .stepper input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.j-forms .stepper .stepper-arrow {
  background-color: #e0e0e0;
  cursor: pointer;
  display: block;
  height: 50%;
  -webkit-transition: background-color 0.4s;
  -moz-transition: background-color 0.4s;
  -ms-transition: background-color 0.4s;
  -o-transition: background-color 0.4s;
  transition: background-color 0.4s;
}
.j-forms .stepper .stepper-arrow:hover {
  background-color: #d6d6d6;
}
.j-forms .stepper .stepper-arrow.down {
  bottom: 0;
}
.j-forms .stepper .stepper-arrow.up:after,
.j-forms .stepper .stepper-arrow.down:after {
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  content: '';
  position: absolute;
  right: 16px;
  -webkit-transition: all.4s;
  -moz-transition: all.4s;
  -ms-transition: all.4s;
  -o-transition: all.4s;
  transition: all.4s;
}
.j-forms .stepper .stepper-arrow.down:after {
  border-top: 7px solid rgba(0, 0, 0, 0.56);
  bottom: 10px;
}
.j-forms .stepper .stepper-arrow.up:after {
  border-bottom: 7px solid rgba(0, 0, 0, 0.56);
  top: 10px;
}
.j-forms .stepper .stepper-arrow:hover.down:after {
  border-top: 7px solid rgba(0, 0, 0, 0.87);
}
.j-forms .stepper .stepper-arrow:hover.up:after {
  border-bottom: 7px solid rgba(0, 0, 0, 0.87);
}


/* Bootstrap compatibility
=============================== */
.j-forms .radio,
.j-forms .checkbox,
.j-forms .radio-toggle,
.j-forms .checkbox-toggle {
  margin-top: 0;
}
.j-forms .label {
  padding: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0;
}
.j-forms .radio,
.j-forms .checkbox,
.j-forms .radio-toggle,
.j-forms .checkbox-toggle,
.j-forms .radio *,
.j-forms .checkbox *,
.j-forms .radio-toggle *,
.j-forms .checkbox-toggle *,
.j-forms .radio i:after,
.j-forms .checkbox i:after,
.j-forms .radio-toggle i:after,
.j-forms .checkbox-toggle i:after,
.j-forms .radio i:before,
.j-forms .checkbox i:before,
.j-forms .radio-toggle i:before,
.j-forms .checkbox-toggle i:before {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

/* Widget
==============================*/
.widget-wrap {
  background-color: #fafafa;
  margin-bottom: 30px;
  padding: 30px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.widget-wrap .widget-header h1,
.widget-wrap .widget-header h2,
.widget-wrap .widget-header h3,
.widget-wrap .widget-header h4,
.widget-wrap .widget-header h5,
.widget-wrap .widget-header h6 {
  margin-top: 0px;
  margin-bottom: 0px;
  font-size: 16px;
  font-weight: 400;
  text-transform: uppercase;
}
.widget-wrap .widget-header p {
  margin-top: 6px;
  margin-bottom: 0px;
  font-size: 12px;
}
.widget-wrap .widget-container {
  margin-top: 30px;
}

.form-control {
  display: block;
  width: 100%;
  height: 39px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.846;
  color: #555555;
  background-color: #ffffff;
  background-image: none;
  border: 1px solid #cccccc;
  border-radius: 3px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.form-control:focus {
  border-color: #139c9b;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(19, 156, 155, 0.6);
  -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(19, 156, 155, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(19, 156, 155, 0.6);
}
.form-control::-moz-placeholder {
  color: #999999;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #999999;
}
.form-control::-webkit-input-placeholder {
  color: #999999;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background-color: #eeeeee;
  opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
  cursor: not-allowed;
}
textarea.form-control {
  height: auto;
}
.form-control:focus {
  box-shadow: none;
}

.btn-ex-container a {
  margin-bottom: 8px;
  display: block;
}
.tooltip-inner {
  padding: 8px 12px !important;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
.btn-default {
  background-size: 200%;
  background-position: 50%;
  outline: none;
}
.btn-default:hover,
.btn-default:active:hover,
.btn-default:focus {
  outline: none;
  background-color: #f0f0f0;
}
.btn-default:active {
  background-color: #f0f0f0;
  background-image: -webkit-radial-gradient(circle, #f0f0f0 10%, #ffffff 11%);
  background-image: radial-gradient(circle, #f0f0f0 10%, #ffffff 11%);
  background-repeat: no-repeat;
  background-size: 1000%;
  -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
}
.btn-success {
  background-size: 200%;
  background-position: 50%;
  outline: none;
}
.btn-success:hover,
.btn-success:active:hover,
.btn-success:focus {
  outline: none;
  background-color: #51b255;
}
.btn-success:active {
  background-color: #51b255;
  background-image: -webkit-radial-gradient(circle, #51b255 10%, #66bb6a 11%);
  background-image: radial-gradient(circle, #51b255 10%, #66bb6a 11%);
  background-repeat: no-repeat;
  background-size: 1000%;
  -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
}
.btn-info {
  background-size: 200%;
  background-position: 50%;
  outline: none;
}
.btn-info:hover,
.btn-info:active:hover,
.btn-info:focus {
  outline: none;
  background-color: #42b6d9;
}
.btn-info:active {
  background-color: #42b6d9;
  background-image: -webkit-radial-gradient(circle, #42b6d9 10%, #5bc0de 11%);
  background-image: radial-gradient(circle, #42b6d9 10%, #5bc0de 11%);
  background-repeat: no-repeat;
  background-size: 1000%;
  -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
}
.btn-warning {
  background-size: 200%;
  background-position: 50%;
  outline: none;
}
.btn-warning:hover,
.btn-warning:active:hover,
.btn-warning:focus {
  outline: none;
  background-color: #e09e00;
}
.btn-warning:active {
  background-color: #e09e00;
  background-image: -webkit-radial-gradient(circle, #e09e00 10%, #ffb300 11%);
  background-image: radial-gradient(circle, #e09e00 10%, #ffb300 11%);
  background-repeat: no-repeat;
  background-size: 1000%;
  -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
}
.btn-danger {
  background-size: 200%;
  background-position: 50%;
  outline: none;
}
.btn-danger:hover,
.btn-danger:active:hover,
.btn-danger:focus {
  outline: none;
  background-color: #d43a36;
}
.btn-danger:active {
  background-color: #d43a36;
  background-image: -webkit-radial-gradient(circle, #d43a36 10%, #d9534f 11%);
  background-image: radial-gradient(circle, #d43a36 10%, #d9534f 11%);
  background-repeat: no-repeat;
  background-size: 1000%;
  -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
}
.btn {
  border-right: none;
  border-bottom: none;
  -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-transition: all all 0.2s ease-out;
  -moz-transition: all all 0.2s ease-out;
  -o-transition: all all 0.2s ease-out;
  transition: all all 0.2s ease-out;
}
.btn-link {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.btn-link:hover,
.btn-link:focus {
  color: #139c9b;
  text-decoration: none;
}
.btn-default.disabled {
  border: 1px solid #dddddd;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: 0;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: 0;
}
.btn-group > .btn + .dropdown-toggle {
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 3px;
}
.btn-group > .btn-lg + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
  margin-bottom: 4px;
}
.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
  -webkit-transition: all 350ms cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 350ms cubic-bezier(0.19, 1, 0.22, 1);
}
.btn-group.open .dropdown-toggle.btn-link {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.nav-pills > li {
  float: left;
}
.nav-pills > li > a {
  border-radius: 3px;
}
.nav-pills > li + li {
  margin-left: 2px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #ffffff;
  background-color: #139c9b;
}
.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: bold;
  color: #ffffff;
  line-height: 1;
  vertical-align: baseline;
  white-space: nowrap;
  text-align: center;
  background-color: #777777;
  border-radius: 10px;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-xs .badge,
.btn-group-xs > .btn .badge {
  top: 0;
  padding: 1px 5px;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  color: #333333;
  text-decoration: none;
  outline: none !Important;
}
.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  -moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  pointer-events: none;
  -moz-opacity: 0.65;
  -khtml-opacity: 0.65;
  -webkit-opacity: 0.65;
  opacity: 0.65;
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=65);
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.btn-default {
  color: #333333;
  background-color: #ffffff;
  border-color: #dddddd;
}
.btn-default:hover,
.btn-default:focus,
.btn-default.focus,
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  color: #333333;
  background-color: #e6e6e6;
  border-color: #bebebe;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  background-image: none;
}
.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
  background-color: #ffffff;
  border-color: #dddddd;
}
.btn-default .badge {
  color: #ffffff;
  background-color: #333333;
}
.btn-success {
  color: #ffffff;
  background-color: #66bb6a;
  border-color: #54b359;
}
.btn-success:hover,
.btn-success:focus,
.btn-success.focus,
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  color: #ffffff;
  background-color: #49a54e;
  border-color: #3e8c42;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  background-image: none;
}
.btn-success.disabled,
.btn-success[disabled],
fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
  background-color: #66bb6a;
  border-color: #54b359;
}
.btn-success .badge {
  color: #66bb6a;
  background-color: #ffffff;
}
.btn-info {
  color: #ffffff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info:hover,
.btn-info:focus,
.btn-info.focus,
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  color: #ffffff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  background-image: none;
}
.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info .badge {
  color: #5bc0de;
  background-color: #ffffff;
}
.btn-warning {
  color: #ffffff;
  background-color: #ffb300;
  border-color: #e6a100;
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning.focus,
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  color: #ffffff;
  background-color: #cc8f00;
  border-color: #a87600;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  background-image: none;
}
.btn-warning.disabled,
.btn-warning[disabled],
fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
  background-color: #ffb300;
  border-color: #e6a100;
}
.btn-warning .badge {
  color: #ffb300;
  background-color: #ffffff;
}
.btn-danger {
  color: #ffffff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger:hover,
.btn-danger:focus,
.btn-danger.focus,
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  color: #ffffff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  background-image: none;
}
.btn-danger.disabled,
.btn-danger[disabled],
fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger .badge {
  color: #d9534f;
  background-color: #ffffff;
}
.btn-link {
  color: #139c9b;
  font-weight: normal;
  border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
  background-color: transparent;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
  border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
  color: #0b5857;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
  color: #777777;
  text-decoration: none;
}
.btn-lg {
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 3px;
}
.btn-sm {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 2px;
}
.btn-xs {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 2px;
}

/* Range selector
==========================*/

.range-selector input[type=range] {
    -webkit-appearance: none;
    width: 100%;
}
.range-selector input[type=range]::-webkit-slider-runnable-track {
    width: 300px;
    height: 7px;
    background: #ddd;
    border: none;
    border-radius: 3px;
}
.range-selector input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    border: 1px solid #ddd;
    height: 22px;
    width: 22px;
    border-radius: 50%;
    background: #fff;
    -webkit-box-shadow: 0 2px 5px #aaa;
	-moz-box-shadow: 0 2px 5px #aaa;
	-ms-box-shadow: 0 2px 5px #aaa;
	box-shadow: 0 2px 5px #aaa;
    margin-top: -8px;
    cursor: pointer;
}
.range-selector input[type=range]:focus {
    outline: none;
}
.range-selector input[type=range]:focus::-webkit-slider-runnable-track {
    background: #ccc;
}

.range-selector input[type=range]::-moz-range-track {
    width: 100%;
    height: 5px;
    background: #ddd;
    border: none;
    border-radius: 3px;
}
.range-selector input[type=range]::-moz-range-thumb {
    border: none;
    height: 22px;
    width: 22px;
    border-radius: 50%;
    background: #fff;
	-webkit-box-shadow: 0 2px 5px #aaa;
	-moz-box-shadow: 0 2px 5px #aaa;
	-ms-box-shadow: 0 2px 5px #aaa;
	box-shadow: 0 2px 5px #aaa;
	cursor: pointer;
}

/*hide the outline behind the border*/
.range-selector input[type=range]:-moz-focusring{
    outline: 1px solid white;
    outline-offset: -1px;
}

.range-selector input[type=range]::-ms-track {
    width: 100%;
    height: 5px;
    background: transparent;
    border-color: transparent;
    border-width: 6px 0;
    color: transparent;
}
.range-selector input[type=range]::-ms-fill-lower {
    background: #777;
    border-radius: 10px;
}
.range-selector input[type=range]::-ms-fill-upper {
    background: #ddd;
    border-radius: 10px;
}
.range-selector input[type=range]::-ms-thumb {
    border: none;
    height: 22px;
    width: 22px;
    border-radius: 50%;
    background: #fff;
	margin-top:0px;
	-webkit-box-shadow: 0 2px 5px #aaa;
	-moz-box-shadow: 0 2px 5px #aaa;
	-ms-box-shadow: 0 2px 5px #aaa;
	box-shadow: 0 2px 5px #aaa;
	cursor: pointer;
}
.range-selector input[type=range]:focus::-ms-fill-lower {
    background: #888;
}
.range-selector input[type=range]:focus::-ms-fill-upper {
    background: #ccc;
}

.range-selector{
	position: relative;
}

.range-selector.range-group{
	display:flex;
}
.range-selector.range-group > input[type=range]{
	-webkit-box-flex: 1;
    -webkit-flex: 1;
    -moz-box-flex: 1;
    -moz-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: block;
    margin-right: 10px;
    margin-left: 10px;
}
.range-selector.range-group > i{
	-webkit-box-flex: 0;
    -webkit-flex: 0;
    -moz-box-flex: 0;
    -moz-flex: 0;
    -ms-flex: 0;
    flex: 0;
    display: block;
    min-width: 24px;
    text-align: center;
    font-size: 20px;
}

.range-selector.range-group > output{
	-webkit-box-flex: 0;
    -webkit-flex: 0;
    -moz-box-flex: 0;
    -moz-flex: 0;
    -ms-flex: 0;
    flex: 0;
    display: block;
    min-width: 24px;
    text-align: center;
	padding-top: 0;
}

.range-value{
	position: absolute;
	right: -20px;
	top: -3px;
}

================================================
FILE: dist/assets/fonts/LICENSE.txt
================================================
Font license info


## Font Awesome

   Copyright (C) 2016 by Dave Gandy

   Author:    Dave Gandy
   License:   SIL ()
   Homepage:  http://fortawesome.github.com/Font-Awesome/


## Meteocons

   Copyright (C) 2012 by Alessio Atzeni

   Author:    Alessio Atzeni
   License:   SIL (http://scripts.sil.org/OFL)
   Homepage:  http://www.alessioatzeni.com


## Typicons

   (c) Stephen Hutchings 2012

   Author:    Stephen Hutchings
   License:   SIL (http://scripts.sil.org/OFL)
   Homepage:  http://typicons.com/




================================================
FILE: dist/assets/fonts/README.txt
================================================
This webfont is generated by http://fontello.com open source project.


================================================================================
Please, note, that you should obey original font licenses, used to make this
webfont pack. Details available in LICENSE.txt file.

- Usually, it's enough to publish content of LICENSE.txt file somewhere on your
  site in "About" section.

- If your project is open-source, usually, it will be ok to make LICENSE.txt
  file publicly available in your repository.

- Fonts, used in Fontello, don't require a clickable link on your site.
  But any kind of additional authors crediting is welcome.
================================================================================


Comments on archive content
---------------------------

- /font/* - fonts in different formats

- /css/*  - different kinds of css, for all situations. Should be ok with 
  twitter bootstrap. Also, you can skip <i> style and assign icon classes
  directly to text elements, if you don't mind about IE7.

- demo.html - demo file, to show your webfont content

- LICENSE.txt - license info about source fonts, used to build your one.

- config.json - keeps your settings. You can import it back into fontello
  anytime, to continue your work


Why so many CSS files ?
-----------------------

Because we like to fit all your needs :)

- basic file, <your_font_name>.css - is usually enough, it contains @font-face
  and character code definitions

- *-ie7.css - if you need IE7 support, but still don't wish to put char codes
  directly into html

- *-codes.css and *-ie7-codes.css - if you like to use your own @font-face
  rules, but still wish to benefit from css generation. That can be very
  convenient for automated asset build systems. When you need to update font -
  no need to manually edit files, just override old version with archive
  content. See fontello source code for examples.

- *-embedded.css - basic css file, but with embedded WOFF font, to avoid
  CORS issues in Firefox and IE9+, when fonts are hosted on the separate domain.
  We strongly recommend to resolve this issue by `Access-Control-Allow-Origin`
  server headers. But if you ok with dirty hack - this file is for you. Note,
  that data url moved to separate @font-face to avoid problems with <IE9, when
  string is too long.

- animate.css - use it to get ideas about spinner rotation animation.


Attention for server setup
--------------------------

You MUST setup server to reply with proper `mime-types` for font files -
otherwise some browsers will fail to show fonts.

Usually, `apache` already has necessary settings, but `nginx` and other
webservers should be tuned. Here is list of mime types for our file extensions:

- `application/vnd.ms-fontobject` - eot
- `application/x-font-woff` - woff
- `application/x-font-ttf` - ttf
- `image/svg+xml` - svg


================================================
FILE: dist/assets/fonts/config.json
================================================
{
  "name": "",
  "css_prefix_text": "icon-",
  "css_use_suffix": false,
  "hinting": true,
  "units_per_em": 1000,
  "ascent": 850,
  "glyphs": [
    {
      "uid": "474656633f79ea2f1dad59ff63f6bf07",
      "css": "star",
      "code": 59392,
      "src": "fontawesome"
    },
    {
      "uid": "d17030afaecc1e1c22349b99f3c4992a",
      "css": "star-empty",
      "code": 59393,
      "src": "fontawesome"
    },
    {
      "uid": "8f8278fbe5a2a0ea836be3c408b005d2",
      "css": "star-half",
      "code": 59394,
      "src": "fontawesome"
    },
    {
      "uid": "84cf1fcc3fec556e7eaeb19679ca2dc9",
      "css": "star-half-alt",
      "code": 61731,
      "src": "fontawesome"
    },
    {
      "uid": "8b80d36d4ef43889db10bc1f0dc9a862",
      "css": "user",
      "code": 59395,
      "src": "fontawesome"
    },
    {
      "uid": "1bafeeb1808a5fe24484c7890096901a",
      "css": "user-plus",
      "code": 62004,
      "src": "fontawesome"
    },
    {
      "uid": "fb1c59faa93eb6e2248c2456625b08a2",
      "css": "user-times",
      "code": 62005,
      "src": "fontawesome"
    },
    {
      "uid": "31972e4e9d080eaa796290349ae6c1fd",
      "css": "users",
      "code": 59396,
      "src": "fontawesome"
    },
    {
      "uid": "ca2d64f8a3ea7cbf6af45898b2dcf35e",
      "css": "male",
      "code": 61827,
      "src": "fontawesome"
    },
    {
      "uid": "9bf7e14698cccdca37a6f1a02cf7d79e",
      "css": "female",
      "code": 61826,
      "src": "fontawesome"
    },
    {
      "uid": "c2314ed1d2314b89f9285c53bcbf2548",
      "css": "child",
      "code": 61870,
      "src": "fontawesome"
    },
    {
      "uid": "f9c8ea86275ca16128235c6452b67b8e",
      "css": "user-secret",
      "code": 61979,
      "src": "fontawesome"
    },
    {
      "uid": "872d9516df93eb6b776cc4d94bd97dac",
      "css": "video",
      "code": 59397,
      "src": "fontawesome"
    },
    {
      "uid": "12f4ece88e46abd864e40b35e05b11cd",
      "css": "ok",
      "code": 59398,
      "src": "fontawesome"
    },
    {
      "uid": "43ab845088317bd348dee1d975700c48",
      "css": "ok-circled",
      "code": 59399,
      "src": "fontawesome"
    },
    {
      "uid": "ad33e708f4d2e25c5056c931da1528d6",
      "css": "ok-circled2",
      "code": 59400,
      "src": "fontawesome"
    },
    {
      "uid": "1400d5103edd2fa6d2d61688fee79a5a",
      "css": "ok-squared",
      "code": 61770,
      "src": "fontawesome"
    },
    {
      "uid": "5211af474d3a9848f67f945e2ccaf143",
      "css": "cancel",
      "code": 59401,
      "src": "fontawesome"
    },
    {
      "uid": "0f4cae16f34ae243a6144c18a003f2d8",
      "css": "cancel-circled",
      "code": 59402,
      "src": "fontawesome"
    },
    {
      "uid": "2e2dba0307a502a8507c1729084c7ab5",
      "css": "cancel-circled2",
      "code": 59403,
      "src": "fontawesome"
    },
    {
      "uid": "44e04715aecbca7f266a17d5a7863c68",
      "css": "plus",
      "code": 59404,
      "src": "fontawesome"
    },
    {
      "uid": "4ba33d2607902cf690dd45df09774cb0",
      "css": "plus-circled",
      "code": 59415,
      "src": "fontawesome"
    },
    {
      "uid": "1a5cfa186647e8c929c2b17b9fc4dac1",
      "css": "plus-squared",
      "code": 61694,
      "src": "fontawesome"
    },
    {
      "uid": "2d3be3e856fc1e4ac067590d2ded1b07",
      "css": "plus-squared-alt",
      "code": 61846,
      "src": "fontawesome"
    },
    {
      "uid": "861ab06e455e2de3232ebef67d60d708",
      "css": "minus",
      "code": 59416,
      "src": "fontawesome"
    },
    {
      "uid": "eeadb020bb75d089b25d8424aabe19e0",
      "css": "minus-circled",
      "code": 59417,
      "src": "fontawesome"
    },
    {
      "uid": "0ddd3e8201ccc7d41f7b7c9d27eca6c1",
      "css": "link",
      "code": 59405,
      "src": "fontawesome"
    },
    {
      "uid": "1dcd2b2148b7f086a4eb47f6a746bdee",
      "css": "unlink",
      "code": 61735,
      "src": "fontawesome"
    },
    {
      "uid": "e15f0d620a7897e2035c18c80142f6d9",
      "css": "link-ext",
      "code": 61582,
      "src": "fontawesome"
    },
    {
      "uid": "e35de5ea31cd56970498e33efbcb8e36",
      "css": "link-ext-alt",
      "code": 61772,
      "src": "fontawesome"
    },
    {
      "uid": "0d6ab6194c0eddda2b8c9cedf2ab248e",
      "css": "attach",
      "code": 59406,
      "src": "fontawesome"
    },
    {
      "uid": "c1f1975c885aa9f3dad7810c53b82074",
      "css": "lock",
      "code": 59407,
      "src": "fontawesome"
    },
    {
      "uid": "657ab647f6248a6b57a5b893beaf35a9",
      "css": "lock-open",
      "code": 59418,
      "src": "fontawesome"
    },
    {
      "uid": "05376be04a27d5a46e855a233d6e8508",
      "css": "lock-open-alt",
      "code": 61758,
      "src": "fontawesome"
    },
    {
      "uid": "5b0772e9484a1a11646793a82edd622a",
      "css": "pin",
      "code": 59419,
      "src": "fontawesome"
    },
    {
      "uid": "c5fd349cbd3d23e4ade333789c29c729",
      "css": "eye",
      "code": 59420,
      "src": "fontawesome"
    },
    {
      "uid": "7fd683b2c518ceb9e5fa6757f2276faa",
      "css": "eye-off",
      "code": 59421,
      "src": "fontawesome"
    },
    {
      "uid": "3db5347bd219f3bce6025780f5d9ef45",
      "css": "tag",
      "code": 59422,
      "src": "fontawesome"
    },
    {
      "uid": "a3f89e106175a5c5c4e9738870b12e55",
      "css": "tags",
      "code": 59423,
      "src": "fontawesome"
    },
    {
      "uid": "5e2ab018e3044337bcef5f7e94098ea1",
      "css": "thumbs-up-alt",
      "code": 61796,
      "src": "fontawesome"
    },
    {
      "uid": "ddcd918b502642705838815d40aea9e3",
      "css": "thumbs-down-alt",
      "code": 61797,
      "src": "fontawesome"
    },
    {
      "uid": "9a76bc135eac17d2c8b8ad4a5774fc87",
      "css": "download",
      "code": 59408,
      "src": "fontawesome"
    },
    {
      "uid": "eeec3208c90b7b48e804919d0d2d4a41",
      "css": "upload",
      "code": 59409,
      "src": "fontawesome"
    },
    {
      "uid": "f5999a012fc3752386635ec02a858447",
      "css": "download-cloud",
      "code": 61677,
      "src": "fontawesome"
    },
    {
      "uid": "de2fc7a5c986ab8c622f63455d7cf814",
      "css": "upload-cloud",
      "code": 61678,
      "src": "fontawesome"
    },
    {
      "uid": "c6be5a58ee4e63a5ec399c2b0d15cf2c",
      "css": "reply",
      "code": 61714,
      "src": "fontawesome"
    },
    {
      "uid": "1b5597a3bacaeca6600e88ae36d02e0a",
      "css": "reply-all",
      "code": 61730,
      "src": "fontawesome"
    },
    {
      "uid": "3d39c828009c04ddb6764c0b04cd2439",
      "css": "forward",
      "code": 59410,
      "src": "fontawesome"
    },
    {
      "uid": "ab95e1351ebaec5850101097cbf7097f",
      "css": "quote-left",
      "code": 61709,
      "src": "fontawesome"
    },
    {
      "uid": "d745d7c05b94e609decabade2cae12cb",
      "css": "quote-right",
      "code": 61710,
      "src": "fontawesome"
    },
    {
      "uid": "7034e4d22866af82bef811f52fb1ba46",
      "css": "code",
      "code": 61729,
      "src": "fontawesome"
    },
    {
      "uid": "895405dfac8a3b7b2f23b183c6608ee6",
      "css": "export",
      "code": 59411,
      "src": "fontawesome"
    },
    {
      "uid": "09feb4465d9bd1364f4e301c9ddbaa92",
      "css": "retweet",
      "code": 59412,
      "src": "fontawesome"
    },
    {
      "uid": "ecb97add13804c190456025e43ec003b",
      "css": "keyboard",
      "code": 61724,
      "src": "fontawesome"
    },
    {
      "uid": "0133387f2069a1b3168942b84d81dd3a",
      "css": "gamepad",
      "code": 61723,
      "src": "fontawesome"
    },
    {
      "uid": "85528017f1e6053b2253785c31047f44",
      "css": "comment",
      "code": 59413,
      "src": "fontawesome"
    },
    {
      "uid": "dcedf50ab1ede3283d7a6c70e2fe32f3",
      "css": "chat",
      "code": 59414,
      "src": "fontawesome"
    },
    {
      "uid": "9c1376672bb4f1ed616fdd78a23667e9",
      "css": "comment-empty",
      "code": 61669,
      "src": "fontawesome"
    },
    {
      "uid": "31951fbb9820ed0690f675b3d495c8da",
      "css": "chat-empty",
      "code": 61670,
      "src": "fontawesome"
    },
    {
      "uid": "cd21cbfb28ad4d903cede582157f65dc",
      "css": "bell",
      "code": 59424,
      "src": "fontawesome"
    },
    {
      "uid": "671f29fa10dda08074a4c6a341bb4f39",
      "css": "bell-alt",
      "code": 61683,
      "src": "fontawesome"
    },
    {
      "uid": "563683020e0bf9f22f3f055a69b5c57a",
      "css": "bell-off",
      "code": 61942,
      "src": "fontawesome"
    },
    {
      "uid": "8a074400a056c59d389f2d0517281bd5",
      "css": "bell-off-empty",
      "code": 61943,
      "src": "fontawesome"
    },
    {
      "uid": "00391fac5d419345ffcccd95b6f76263",
      "css": "attention-alt",
      "code": 61738,
      "src": "fontawesome"
    },
    {
      "uid": "c76b7947c957c9b78b11741173c8349b",
      "css": "attention",
      "code": 59425,
      "src": "fontawesome"
    },
    {
      "uid": "b035c28eba2b35c6ffe92aee8b0df507",
      "css": "attention-circled",
      "code": 59426,
      "src": "fontawesome"
    },
    {
      "uid": "0d08dbb1dd648a43bdea81b7e6c9e036",
      "css": "location",
      "code": 59427,
      "src": "fontawesome"
    },
    {
      "uid": "921e3974e54ff9e8b7cd906a3dc74636",
      "css": "direction",
      "code": 61732,
      "src": "fontawesome"
    },
    {
      "uid": "e5d624264734620fa9f98d59e6dc941f",
      "css": "compass",
      "code": 61774,
      "src": "fontawesome"
    },
    {
      "uid": "bbfb51903f40597f0b70fd75bc7b5cac",
      "css": "trash",
      "code": 61944,
      "src": "fontawesome"
    },
    {
      "uid": "f48ae54adfb27d8ada53d0fd9e34ee10",
      "css": "trash-empty",
      "code": 59428,
      "src": "fontawesome"
    },
    {
      "uid": "1b5a5d7b7e3c71437f5a26befdd045ed",
      "css": "doc",
      "code": 59429,
      "src": "fontawesome"
    },
    {
      "uid": "c8585e1e5b0467f28b70bce765d5840c",
      "css": "docs",
      "code": 61637,
      "src": "fontawesome"
    },
    {
      "uid": "5408be43f7c42bccee419c6be53fdef5",
      "css": "doc-text",
      "code": 61686,
      "src": "fontawesome"
    },
    {
      "uid": "178053298e3e5b03551d754d4b9acd8b",
      "css": "doc-inv",
      "code": 61787,
      "src": "fontawesome"
    },
    {
      "uid": "c08a1cde48d96cba21d8c05fa7d7feb1",
      "css": "doc-text-inv",
      "code": 61788,
      "src": "fontawesome"
    },
    {
      "uid": "9daa1fdf0838118518a7e22715e83abc",
      "css": "file-pdf",
      "code": 61889,
      "src": "fontawesome"
    },
    {
      "uid": "310ffd629da85142bc8669f010556f2d",
      "css": "file-word",
      "code": 61890,
      "src": "fontawesome"
    },
    {
      "uid": "f761c3bbe16ba2d332914ecb28e7a042",
      "css": "file-excel",
      "code": 61891,
      "src": "fontawesome"
    },
    {
      "uid": "edcd4022de8d8df266ef7c42d2658ca5",
      "css": "file-powerpoint",
      "code": 61892,
      "src": "fontawesome"
    },
    {
      "uid": "3c961c1a8d874815856fc6637dc5a13c",
      "css": "file-image",
      "code": 61893,
      "src": "fontawesome"
    },
    {
      "uid": "e80ae555c1413a4ec18b33fb348b4049",
      "css": "file-archive",
      "code": 61894,
      "src": "fontawesome"
    },
    {
      "uid": "81db033e704eb7c586a365559d7c0f36",
      "css": "file-audio",
      "code": 61895,
      "src": "fontawesome"
    },
    {
      "uid": "dd69d9aa589ea7bc0a82a3fe67039f4b",
      "css": "file-video",
      "code": 61896,
      "src": "fontawesome"
    },
    {
      "uid": "26613a2e6bc41593c54bead46f8c8ee3",
      "css": "file-code",
      "code": 61897,
      "src": "fontawesome"
    },
    {
      "uid": "f8aa663c489bcbd6e68ec8147dca841e",
      "css": "folder",
      "code": 59430,
      "src": "fontawesome"
    },
    {
      "uid": "c95735c17a10af81448c7fed98a04546",
      "css": "folder-open",
      "code": 59431,
      "src": "fontawesome"
    },
    {
      "uid": "b091a8bd0fdade174951f17d936f51e4",
      "css": "folder-empty",
      "code": 61716,
      "src": "fontawesome"
    },
    {
      "uid": "6533bdc16ab201eb3f3b27ce989cab33",
      "css": "folder-open-empty",
      "code": 61717,
      "src": "fontawesome"
    },
    {
      "uid": "04ff8d6592fe548b332b27ed87ce397a",
      "css": "box",
      "code": 61831,
      "src": "fontawesome"
    },
    {
      "uid": "72b1277834cba5b7944b0a6cac7ddb0d",
      "css": "rss",
      "code": 61598,
      "src": "fontawesome"
    },
    {
      "uid": "de5f0a564ccf8816325330e292e11533",
      "css": "rss-squared",
      "code": 61763,
      "src": "fontawesome"
    },
    {
      "uid": "9f7e588c66cfd6891f6f507cf6f6596b",
      "css": "phone",
      "code": 59432,
      "src": "fontawesome"
    },
    {
      "uid": "ec488dfd1f548948c09671ca5a60ec92",
      "css": "phone-squared",
      "code": 61592,
      "src": "fontawesome"
    },
    {
      "uid": "5cbe092278ff71fc27c920298b0f3ca3",
      "css": "fax",
      "code": 61868,
      "src": "fontawesome"
    },
    {
      "uid": "559647a6f430b3aeadbecd67194451dd",
      "css": "menu",
      "code": 61641,
      "src": "fontawesome"
    },
    {
      "uid": "e99461abfef3923546da8d745372c995",
      "css": "cog",
      "code": 59433,
      "src": "fontawesome"
    },
    {
      "uid": "98687378abd1faf8f6af97c254eb6cd6",
      "css": "cog-alt",
      "code": 59434,
      "src": "fontawesome"
    },
    {
      "uid": "5bb103cd29de77e0e06a52638527b575",
      "css": "wrench",
      "code": 59435,
      "src": "fontawesome"
    },
    {
      "uid": "21b42d3c3e6be44c3cc3d73042faa216",
      "css": "sliders",
      "code": 61918,
      "src": "fontawesome"
    },
    {
      "uid": "9affc98d652b86628d650ee58dbf0357",
      "css": "basket",
      "code": 59436,
      "src": "fontawesome"
    },
    {
      "uid": "cddbeffea9d90c5db93d5d3e77b8893e",
      "css": "cart-plus",
      "code": 61975,
      "src": "fontawesome"
    },
    {
      "uid": "93c35534e6b079466c4676cdedcdb7c1",
      "css": "cart-arrow-down",
      "code": 61976,
      "src": "fontawesome"
    },
    {
      "uid": "531bc468eecbb8867d822f1c11f1e039",
      "css": "calendar",
      "code": 59437,
      "src": "fontawesome"
    },
    {
      "uid": "ead4c82d04d7758db0f076584893a8c1",
      "css": "calendar-empty",
      "code": 61747,
      "src": "fontawesome"
    },
    {
      "uid": "3a00327e61b997b58518bd43ed83c3df",
      "css": "login",
      "code": 59438,
      "src": "fontawesome"
    },
    {
      "uid": "0d20938846444af8deb1920dc85a29fb",
      "css": "logout",
      "code": 59439,
      "src": "fontawesome"
    },
    {
      "uid": "19c50c52858a81de58f9db488aba77bc",
      "css": "mic",
      "code": 61744,
      "src": "fontawesome"
    },
    {
      "uid": "43c629249e2cca7e73cd4ef410c9551f",
      "css": "mute",
      "code": 61745,
      "src": "fontawesome"
    },
    {
      "uid": "e44601720c64e6bb6a2d5cba6b0c588c",
      "css": "volume-off",
      "code": 59440,
      "src": "fontawesome"
    },
    {
      "uid": "fee6e00f36e8ca8ef3e4a62caa213bf6",
      "css": "volume-down",
      "code": 59441,
      "src": "fontawesome"
    },
    {
      "uid": "76857a03fbaa6857fe063b6c25aa98ed",
      "css": "volume-up",
      "code": 59442,
      "src": "fontawesome"
    },
    {
      "uid": "f27bba41a700af51a4dd23cf4edea61d",
      "css": "headphones",
      "code": 59443,
      "src": "fontawesome"
    },
    {
      "uid": "598a5f2bcf3521d1615de8e1881ccd17",
      "css": "clock",
      "code": 59444,
      "src": "fontawesome"
    },
    {
      "uid": "5278ef7773e948d56c4d442c8c8c98cf",
      "css": "lightbulb",
      "code": 61675,
      "src": "fontawesome"
    },
    {
      "uid": "98d9c83c1ee7c2c25af784b518c522c5",
      "css": "block",
      "code": 59445,
      "src": "fontawesome"
    },
    {
      "uid": "e594fc6e5870b4ab7e49f52571d52577",
      "css": "resize-full",
      "code": 59446,
      "src": "fontawesome"
    },
    {
      "uid": "b013f6403e5ab0326614e68d1850fd6b",
      "css": "resize-full-alt",
      "code": 61618,
      "src": "fontawesome"
    },
    {
      "uid": "3c24ee33c9487bbf18796ca6dffa1905",
      "css": "resize-small",
      "code": 59447,
      "src": "fontawesome"
    },
    {
      "uid": "d3b3f17bc3eb7cd809a07bbd4d178bee",
      "css": "resize-vertical",
      "code": 59448,
      "src": "fontawesome"
    },
    {
      "uid": "3c73d058e4589b65a8d959c0fc8f153d",
      "css": "resize-horizontal",
      "code": 59449,
      "src": "fontawesome"
    },
    {
      "uid": "6605ee6441bf499ffa3c63d3c7409471",
      "css": "move",
      "code": 61511,
      "src": "fontawesome"
    },
    {
      "uid": "0b2b66e526028a6972d51a6f10281b4b",
      "css": "zoom-in",
      "code": 59450,
      "src": "fontawesome"
    },
    {
      "uid": "d25d10efa900f529ad1d275657cfd30e",
      "css": "zoom-out",
      "code": 59451,
      "src": "fontawesome"
    },
    {
      "uid": "c53068fe21c8410b0a098b4c52c3d37e",
      "css": "down-circled2",
      "code": 59452,
      "src": "fontawesome"
    },
    {
      "uid": "128d63150a41800e0beff55235269542",
      "css": "up-circled2",
      "code": 59453,
      "src": "fontawesome"
    },
    {
      "uid": "a65ca48f3fe7d6e5c60edbd943f4fdb6",
      "css": "left-circled2",
      "code": 61840,
      "src": "fontawesome"
    },
    {
      "uid": "d0673ef38e1c458a6de52aad2a2f800d",
      "css": "right-circled2",
      "code": 61838,
      "src": "fontawesome"
    },
    {
      "uid": "2d6150442079cbda7df64522dc24f482",
      "css": "down-dir",
      "code": 59454,
      "src": "fontawesome"
    },
    {
      "uid": "80cd1022bd9ea151d554bec1fa05f2de",
      "css": "up-dir",
      "code": 59455,
      "src": "fontawesome"
    },
    {
      "uid": "9dc654095085167524602c9acc0c5570",
      "css": "left-dir",
      "code": 59456,
      "src": "fontawesome"
    },
    {
      "uid": "fb1c799ffe5bf8fb7f8bcb647c8fe9e6",
      "css": "right-dir",
      "code": 59457,
      "src": "fontawesome"
    },
    {
      "uid": "ccddff8e8670dcd130e3cb55fdfc2fd0",
      "css": "down-open",
      "code": 59458,
      "src": "fontawesome"
    },
    {
      "uid": "d870630ff8f81e6de3958ecaeac532f2",
      "css": "left-open",
      "code": 59459,
      "src": "fontawesome"
    },
    {
      "uid": "399ef63b1e23ab1b761dfbb5591fa4da",
      "css": "right-open",
      "code": 59460,
      "src": "fontawesome"
    },
    {
      "uid": "fe6697b391355dec12f3d86d6d490397",
      "css": "up-open",
      "code": 59461,
      "src": "fontawesome"
    },
    {
      "uid": "f3f90c8c89795da30f7444634476ea4f",
      "css": "angle-left",
      "code": 61700,
      "src": "fontawesome"
    },
    {
      "uid": "7bf14281af5633a597f85b061ef1cfb9",
      "css": "angle-right",
      "code": 61701,
      "src": "fontawesome"
    },
    {
      "uid": "5de9370846a26947e03f63142a3f1c07",
      "css": "angle-up",
      "code": 61702,
      "src": "fontawesome"
    },
    {
      "uid": "e4dde1992f787163e2e2b534b8c8067d",
      "css": "angle-down",
      "code": 61703,
      "src": "fontawesome"
    },
    {
      "uid": "8933c2579166c2ee56ae40dc6a0b4dc6",
      "css": "angle-circled-left",
      "code": 61751,
      "src": "fontawesome"
    },
    {
      "uid": "94089b37297572e936b0943bcfa041d3",
      "css": "angle-circled-right",
      "code": 61752,
      "src": "fontawesome"
    },
    {
      "uid": "8cbd5bcfb00043b8094fd7ac21ae5e06",
      "css": "angle-circled-up",
      "code": 61753,
      "src": "fontawesome"
    },
    {
      "uid": "c35e0796f6f806945a44b1655ce7bbe7",
      "css": "angle-circled-down",
      "code": 61754,
      "src": "fontawesome"
    },
    {
      "uid": "745f12abe1472d14f8f658de7e5aba66",
      "css": "angle-double-left",
      "code": 61696,
      "src": "fontawesome"
    },
    {
      "uid": "fdfbd1fcbd4cb229716a810801a5f207",
      "css": "angle-double-right",
      "code": 61697,
      "src": "fontawesome"
    },
    {
      "uid": "63b3012c8cbe3654ba5bea598235aa3a",
      "css": "angle-double-up",
      "code": 61698,
      "src": "fontawesome"
    },
    {
      "uid": "dfec4ffa849d8594c2e4b86f6320b8a6",
      "css": "angle-double-down",
      "code": 61699,
      "src": "fontawesome"
    },
    {
      "uid": "f06941dfcb90dc24b987d810898c4310",
      "css": "down",
      "code": 61813,
      "src": "fontawesome"
    },
    {
      "uid": "f6d72aa5ef8e8f0e553012af9a29a87e",
      "css": "left",
      "code": 61815,
      "src": "fontawesome"
    },
    {
      "uid": "fb94e23ae1e7660aa63cc5f351ec7560",
      "css": "right",
      "code": 61816,
      "src": "fontawesome"
    },
    {
      "uid": "720f98e7580b7987c8dc542513d1d440",
      "css": "up",
      "code": 61814,
      "src": "fontawesome"
    },
    {
      "uid": "1c4068ed75209e21af36017df8871802",
      "css": "down-big",
      "code": 59462,
      "src": "fontawesome"
    },
    {
      "uid": "555ef8c86832e686fef85f7af2eb7cde",
      "css": "left-big",
      "code": 59463,
      "src": "fontawesome"
    },
    {
      "uid": "ad6b3fbb5324abe71a9c0b6609cbb9f1",
      "css": "right-big",
      "code": 59464,
      "src": "fontawesome"
    },
    {
      "uid": "95376bf082bfec6ce06ea1cda7bd7ead",
      "css": "up-big",
      "code": 59465,
      "src": "fontawesome"
    },
    {
      "uid": "aa0d9175a3919a260a4012d560e9f01e",
      "css": "right-hand",
      "code": 59466,
      "src": "fontawesome"
    },
    {
      "uid": "3d99d345645f43e31e9e0fd48be37e9c",
      "css": "left-hand",
      "code": 59467,
      "src": "fontawesome"
    },
    {
      "uid": "034e645aa3bad56ce68389a816547c87",
      "css": "up-hand",
      "code": 59468,
      "src": "fontawesome"
    },
    {
      "uid": "beb43b8df442eac4b8d35f528d5ed5af",
      "css": "down-hand",
      "code": 59469,
      "src": "fontawesome"
    },
    {
      "uid": "6855131631509e8795730ce062045ea1",
      "css": "left-circled",
      "code": 61608,
      "src": "fontawesome"
    },
    {
      "uid": "19b04848ae7332d2c0ea2a9e19064037",
      "css": "right-circled",
      "code": 61609,
      "src": "fontawesome"
    },
    {
      "uid": "2b8e9b027181aafd210bf29c5486d4a0",
      "css": "up-circled",
      "code": 61610,
      "src": "fontawesome"
    },
    {
      "uid": "55ae6ea25cd707fe34af5b52b2001cdc",
      "css": "down-circled",
      "code": 61611,
      "src": "fontawesome"
    },
    {
      "uid": "bc71f4c6e53394d5ba46b063040014f1",
      "css": "cw",
      "code": 59470,
      "src": "fontawesome"
    },
    {
      "uid": "f9c3205df26e7778abac86183aefdc99",
      "css": "ccw",
      "code": 59471,
      "src": "fontawesome"
    },
    {
      "uid": "a73c5deb486c8d66249811642e5d719a",
      "css": "arrows-cw",
      "code": 59472,
      "src": "fontawesome"
    },
    {
      "uid": "dea706a9bd3144316ce37406ec10f469",
      "css": "level-up",
      "code": 61768,
      "src": "fontawesome"
    },
    {
      "uid": "4684e690bad65fb618329dfe52017475",
      "css": "level-down",
      "code": 61769,
      "src": "fontawesome"
    },
    {
      "uid": "37c5ab63f10d7ad0b84d0978dcd0c7a8",
      "css": "shuffle",
      "code": 59473,
      "src": "fontawesome"
    },
    {
      "uid": "6020aff067fc3c119cdd75daa5249220",
      "css": "exchange",
      "code": 61676,
      "src": "fontawesome"
    },
    {
      "uid": "d4816c0845aa43767213d45574b3b145",
      "css": "history",
      "code": 61914,
      "src": "fontawesome"
    },
    {
      "uid": "84bb9695b8662fa4783242f84c9e4682",
      "css": "expand",
      "code": 61776,
      "src": "fontawesome"
    },
    {
      "uid": "7960517a504e42aea0641f15bc55fbed",
      "css": "collapse",
      "code": 61777,
      "src": "fontawesome"
    },
    {
      "uid": "ed5a38704f0329e610ee1c92bec3ad3d",
      "css": "expand-right",
      "code": 61778,
      "src": "fontawesome"
    },
    {
      "uid": "ea2ec99fbce03864e593bbf4f302a79d",
      "css": "collapse-left",
      "code": 61841,
      "src": "fontawesome"
    },
    {
      "uid": "ce06b5805120d0c2f8d60cd3f1a4fdb5",
      "css": "play",
      "code": 59474,
      "src": "fontawesome"
    },
    {
      "uid": "5717236f6134afe2d2a278a5c9b3927a",
      "css": "play-circled",
      "code": 61764,
      "src": "fontawesome"
    },
    {
      "uid": "e835d9d0f2ee39ae01b01cc6a6fa24ab",
      "css": "play-circled2",
      "code": 59475,
      "src": "fontawesome"
    },
    {
      "uid": "b624a1e512819d410ddbee84e6918b9d",
      "css": "stop",
      "code": 59476,
      "src": "fontawesome"
    },
    {
      "uid": "0b28050bac9d3facf2f0226db643ece0",
      "css": "pause",
      "code": 59477,
      "src": "fontawesome"
    },
    {
      "uid": "c47efa0e3e74f6ba4c2562c1258fff1f",
      "css": "to-end",
      "code": 59478,
      "src": "fontawesome"
    },
    {
      "uid": "7ea35a8fc7e676c78e99cab2d4bc8653",
      "css": "to-end-alt",
      "code": 59479,
      "src": "fontawesome"
    },
    {
      "uid": "12052b30d23a1a70d6b32962d5464cae",
      "css": "to-start",
      "code": 59480,
      "src": "fontawesome"
    },
    {
      "uid": "6b5450145d620234f07ffcbfbb671074",
      "css": "to-start-alt",
      "code": 59481,
      "src": "fontawesome"
    },
    {
      "uid": "4e511190b60f329d08301eb6869c5130",
      "css": "fast-fw",
      "code": 59482,
      "src": "fontawesome"
    },
    {
      "uid": "b3d902fcead809e3a64c7ddcda497a6c",
      "css": "fast-bw",
      "code": 59483,
      "src": "fontawesome"
    },
    {
      "uid": "91b141af48402743aa3503d0a7007132",
      "css": "eject",
      "code": 59484,
      "src": "fontawesome"
    },
    {
      "uid": "e75c54c282c0bf22186c5c7ec4b03eac",
      "css": "target",
      "code": 59485,
      "src": "fontawesome"
    },
    {
      "uid": "d407a4707f719b042ed2ad28d2619d7e",
      "css": "signal",
      "code": 59486,
      "src": "fontawesome"
    },
    {
      "uid": "cd4bfdae4dc89b175ff49330ce29611a",
      "css": "wifi",
      "code": 61931,
      "src": "fontawesome"
    },
    {
      "uid": "ab656e280958018a7859eba9a1eabbc7",
      "css": "award",
      "code": 59487,
      "src": "fontawesome"
    },
    {
      "uid": "757afacc32d82967975cbb3b45cfb41b",
      "css": "desktop",
      "code": 61704,
      "src": "fontawesome"
    },
    {
      "uid": "500fc1f109021e4b1de4deda2f7ed399",
      "css": "laptop",
      "code": 61705,
      "src": "fontawesome"
    },
    {
      "uid": "f001fc3d4daa7da078e8c971e4f36977",
      "css": "tablet",
      "code": 61706,
      "src": "fontawesome"
    },
    {
      "uid": "0357f7abbc0babf43509669f332e41e6",
      "css": "mobile",
      "code": 61707,
      "src": "fontawesome"
    },
    {
      "uid": "c7a75a25880928fe76981a53eca4f926",
      "css": "inbox",
      "code": 59488,
      "src": "fontawesome"
    },
    {
      "uid": "197375a3cea8cb90b02d06e4ddf1433d",
      "css": "globe",
      "code": 59489,
      "src": "fontawesome"
    },
    {
      "uid": "aa035df0908c4665c269b7b09a5596f3",
      "css": "sun",
      "code": 61829,
      "src": "fontawesome"
    },
    {
      "uid": "2c413e78faf1d6631fd7b094d14c2253",
      "css": "cloud",
      "code": 59490,
      "src": "fontawesome"
    },
    {
      "uid": "3212f42c65d41ed91cb435d0490e29ed",
      "css": "flash",
      "code": 59491,
      "src": "fontawesome"
    },
    {
      "uid": "567e3e257f2cc8fba2c12bf691c9f2d8",
      "css": "moon",
      "code": 61830,
      "src": "fontawesome"
    },
    {
      "uid": "24ca41ab002c09de6e89b28f9d599508",
      "css": "umbrella",
      "code": 59492,
      "src": "fontawesome"
    },
    {
      "uid": "297fe6c2ef08198b03d706ba52f51b7f",
      "css": "flight",
      "code": 59493,
      "src": "fontawesome"
    },
    {
      "uid": "cb36cbe4e2dac9545e32c3d80a7c6e03",
      "css": "fighter-jet",
      "code": 61691,
      "src": "fontawesome"
    },
    {
      "uid": "38575a803c4da31ce20d77e1e1236bcb",
      "css": "paper-plane",
      "code": 61912,
      "src": "fontawesome"
    },
    {
      "uid": "4b2321afcbe0505a70b80abd5c25e09b",
      "css": "paper-plane-empty",
      "code": 61913,
      "src": "fontawesome"
    },
    {
      "uid": "d650df2fd7c4e27d9185d90a1c12a881",
      "css": "space-shuttle",
      "code": 61847,
      "src": "fontawesome"
    },
    {
      "uid": "19e7b342a5e6bd0cd86de6d6208486a4",
      "css": "leaf",
      "code": 59494,
      "src": "fontawesome"
    },
    {
      "uid": "f9cbf7508cd04145ade2800169959eef",
      "css": "font",
      "code": 59495,
      "src": "fontawesome"
    },
    {
      "uid": "02cca871bb69da75e8ee286b7055832c",
      "css": "bold",
      "code": 59496,
      "src": "fontawesome"
    },
    {
      "uid": "bf09b1c6561dc0ced707476e2cd83d29",
      "css": "medium",
      "code": 62010,
      "src": "fontawesome"
    },
    {
      "uid": "a8cb1c217f02b073db3670c061cc54d2",
      "css": "italic",
      "code": 59497,
      "src": "fontawesome"
    },
    {
      "uid": "0c708edd8fae2376b3370aa56d40cf9e",
      "css": "header",
      "code": 61916,
      "src": "fontawesome"
    },
    {
      "uid": "c5845105a87df2ee1999826d90622f6a",
      "css": "paragraph",
      "code": 61917,
      "src": "fontawesome"
    },
    {
      "uid": "c009d417f87d6a27bb5a1cefd30b6cbd",
      "css": "text-height",
      "code": 59498,
      "src": "fontawesome"
    },
    {
      "uid": "13a971bcccd2dda26d4d4eccd8593f8a",
      "css": "text-width",
      "code": 59499,
      "src": "fontawesome"
    },
    {
      "uid": "f4f0e849b805be1f6d76b65581cb3b8b",
      "css": "align-left",
      "code": 59500,
      "src": "fontawesome"
    },
    {
      "uid": "ae6336c46d73af999fe7460c089abb4d",
      "css": "align-center",
      "code": 59501,
      "src": "fontawesome"
    },
    {
      "uid": "e1e7306b47c3c5e6faecce9d32571381",
      "css": "align-right",
      "code": 59502,
      "src": "fontawesome"
    },
    {
      "uid": "25a81737628d1e654a30ad412d7d6dd7",
      "css": "align-justify",
      "code": 59503,
      "src": "fontawesome"
    },
    {
      "uid": "48b87105bd38c20315f1b705b8c7b38c",
      "css": "list",
      "code": 59504,
      "src": "fontawesome"
    },
    {
      "uid": "594e9271c08ff732c04b3bf3117b9040",
      "css": "indent-left",
      "code": 59505,
      "src": "fontawesome"
    },
    {
      "uid": "4d2dfc45d8176b1f26aed973fa84a91e",
      "css": "indent-right",
      "code": 59506,
      "src": "fontawesome"
    },
    {
      "uid": "a2a74f5e7b7d9ba054897d8c795a326a",
      "css": "list-bullet",
      "code": 61642,
      "src": "fontawesome"
    },
    {
      "uid": "f6766a8b042c2453a4e153af03294383",
      "css": "list-numbered",
      "code": 61643,
      "src": "fontawesome"
    },
    {
      "uid": "61c242c9e2134d5864d7fdd57b3c9289",
      "css": "strike",
      "code": 61644,
      "src": "fontawesome"
    },
    {
      "uid": "d4a4a38a40b728f46dad1de4ac950231",
      "css": "underline",
      "code": 61645,
      "src": "fontawesome"
    },
    {
      "uid": "4e88371fb8857dacc1f66afe6314e426",
      "css": "superscript",
      "code": 61739,
      "src": "fontawesome"
    },
    {
      "uid": "3d1c929dbc966992185ce749548c1b2c",
      "css": "subscript",
      "code": 61740,
      "src": "fontawesome"
    },
    {
      "uid": "8fb55fd696d9a0f58f3b27c1d8633750",
      "css": "table",
      "code": 61646,
      "src": "fontawesome"
    },
    {
      "uid": "53dd31a6cc6438192b2d7b09b1c1dd45",
      "css": "columns",
      "code": 61659,
      "src": "fontawesome"
    },
    {
      "uid": "09bdae120f85e79f2db16145a9e1f6d8",
      "css": "crop",
      "code": 61733,
      "src": "fontawesome"
    },
    {
      "uid": "8772331a9fec983cdb5d72902a6f9e0e",
      "css": "scissors",
      "code": 59507,
      "src": "fontawesome"
    },
    {
      "uid": "b429436ec5a518c78479d44ef18dbd60",
      "css": "paste",
      "code": 61674,
      "src": "fontawesome"
    },
    {
      "uid": "053b757d97042e1c94276200c7b64b91",
      "css": "briefcase",
      "code": 59508,
      "src": "fontawesome"
    },
    {
      "uid": "5ccf1ed249fd9d723ec1ce8629a9f507",
      "css": "suitcase",
      "code": 61682,
      "src": "fontawesome"
    },
    {
      "uid": "107ce08c7231097c7447d8f4d059b55f",
      "css": "ellipsis",
      "code": 61761,
      "src": "fontawesome"
    },
    {
      "uid": "750058837a91edae64b03d60fc7e81a7",
      "css": "ellipsis-vert",
      "code": 61762,
      "src": "fontawesome"
    },
    {
      "uid": "8b9e6a8dd8f67f7c003ed8e7e5ee0857",
      "css": "off",
      "code": 59509,
      "src": "fontawesome"
    },
    {
      "uid": "ecede48deb16179e5ef9a3f8ffae62f4",
      "css": "road",
      "code": 59510,
      "src": "fontawesome"
    },
    {
      "uid": "c819c6225685bae2eed1b8da13e629fa",
      "css": "list-alt",
      "code": 59511,
      "src": "fontawesome"
    },
    {
      "uid": "fd45bb961d08f9f2092f0df3fba29fe9",
      "css": "qrcode",
      "code": 59512,
      "src": "fontawesome"
    },
    {
      "uid": "aa991e8e66ac54b33f0a4b0555597b08",
      "css": "barcode",
      "code": 59513,
      "src": "fontawesome"
    },
    {
      "uid": "9755f76110ae4d12ac5f9466c9152031",
      "css": "book",
      "code": 59514,
      "src": "fontawesome"
    },
    {
      "uid": "ca90da02d2c6a3183f2458e4dc416285",
      "css": "adjust",
      "code": 59515,
      "src": "fontawesome"
    },
    {
      "uid": "83458acd9f38d03ec0226ce82a83c0f4",
      "css": "tint",
      "code": 59516,
      "src": "fontawesome"
    },
    {
      "uid": "2a4e6c99b732a57da40e32fa2a7800a4",
      "css": "toggle-off",
      "code": 61956,
      "src": "fontawesome"
    },
    {
      "uid": "3256ef03b16e7ab51235bc7378b53bb5",
      "css": "toggle-on",
      "code": 61957,
      "src": "fontawesome"
    },
    {
      "uid": "dd6c6b221a1088ff8a9b9cd32d0b3dd5",
      "css": "check",
      "code": 59517,
      "src": "fontawesome"
    },
    {
      "uid": "4b900d04e8ab8c82f080c1cfbac5772c",
      "css": "check-empty",
      "code": 61590,
      "src": "fontawesome"
    },
    {
      "uid": "130380e481a7defc690dfb24123a1f0c",
      "css": "circle",
      "code": 61713,
      "src": "fontawesome"
    },
    {
      "uid": "422e07e5afb80258a9c4ed1706498f8a",
      "css": "circle-empty",
      "code": 61708,
      "src": "fontawesome"
    },
    {
      "uid": "5774d0a0e50f6eefc8be01bd761e5dd3",
      "css": "circle-thin",
      "code": 61915,
      "src": "fontawesome"
    },
    {
      "uid": "4ffd8122933b9ee0183b925e1554969f",
      "css": "circle-notch",
      "code": 61902,
      "src": "fontawesome"
    },
    {
      "uid": "81bb68665e8e595505272a746db07c7a",
      "css": "dot-circled",
      "code": 61842,
      "src": "fontawesome"
    },
    {
      "uid": "823a9e02e643318116fea40a00190e4e",
      "css": "asterisk",
      "code": 59518,
      "src": "fontawesome"
    },
    {
      "uid": "28f308aa0a07a67433f54c089c400d82",
      "css": "gift",
      "code": 59519,
      "src": "fontawesome"
    },
    {
      "uid": "254077e7c0a9e6d303b32f9c35b96a40",
      "css": "fire",
      "code": 59520,
      "src": "fontawesome"
    },
    {
      "uid": "d20912c814d0ff9a7fd27ed1f54813cc",
      "css": "magnet",
      "code": 59521,
      "src": "fontawesome"
    },
    {
      "uid": "266d5d9adf15a61800477a5acf9a4462",
      "css": "chart-bar",
      "code": 59522,
      "src": "fontawesome"
    },
    {
      "uid": "7d1ca956f4181a023de4b9efbed92524",
      "css": "chart-area",
      "code": 61950,
      "src": "fontawesome"
    },
    {
      "uid": "554ee96588a6c9ee632624cd051fe6fc",
      "css": "chart-pie",
      "code": 61952,
      "src": "fontawesome"
    },
    {
      "uid": "ea2d9a8c51ca42b38ef0d2a07f16d9a7",
      "css": "chart-line",
      "code": 61953,
      "src": "fontawesome"
    },
    {
      "uid": "d6fcb9886485b0bdb41b94521e7a3311",
      "css": "ticket",
      "code": 61765,
      "src": "fontawesome"
    },
    {
      "uid": "3d8cc269fdad8a4cda55a20542a84e5c",
      "css": "credit-card",
      "code": 59523,
      "src": "fontawesome"
    },
    {
      "uid": "f4445feb55521283572ee88bc304f928",
      "css": "floppy",
      "code": 59524,
      "src": "fontawesome"
    },
    {
      "uid": "3e674995cacc2b09692c096ea7eb6165",
      "css": "megaphone",
      "code": 59525,
      "src": "fontawesome"
    },
    {
      "uid": "795efd07cd5205b589c883916a76cff0",
      "css": "hdd",
      "code": 61600,
      "src": "fontawesome"
    },
    {
      "uid": "f2aa28a2548ed3d2be718d087b65ee21",
      "css": "key",
      "code": 59526,
      "src": "fontawesome"
    },
    {
      "uid": "bc4b94dd7a9a1dd2e02f9e4648062596",
      "css": "fork",
      "code": 61734,
      "src": "fontawesome"
    },
    {
      "uid": "8aa99bc60f3553bb3e31b73dd6e744c8",
      "css": "rocket",
      "code": 61749,
      "src": "fontawesome"
    },
    {
      "uid": "7432077e6a2d6aa19984ca821bb6bbda",
      "css": "bug",
      "code": 61832,
      "src": "fontawesome"
    },
    {
      "uid": "d61be837c725a299b432dcbee2ecdae6",
      "css": "certificate",
      "code": 61603,
      "src": "fontawesome"
    },
    {
      "uid": "9396b2d8849e0213a0f11c5fd7fcc522",
      "css": "tasks",
      "code": 61614,
      "src": "fontawesome"
    },
    {
      "uid": "4109c474ff99cad28fd5a2c38af2ec6f",
      "css": "filter",
      "code": 61616,
      "src": "fontawesome"
    },
    {
      "uid": "0f444c61b0d2c9966016d7ddb12f5837",
      "css": "beaker",
      "code": 61635,
      "src": "fontawesome"
    },
    {
      "uid": "ff70f7b3228702e0d590e60ed3b90bea",
      "css": "magic",
      "code": 61648,
      "src": "fontawesome"
    },
    {
      "uid": "9937d762aee170b7350b15dd02dd34a3",
      "css": "cab",
      "code": 61881,
      "src": "fontawesome"
    },
    {
      "uid": "5eacf9f8805e2c0bc306dcd1e709db16",
      "css": "taxi",
      "code": 61882,
      "src": "fontawesome"
    },
    {
      "uid": "7f3d8ff1d5f6ee019f0c00ed7a86caec",
      "css": "truck",
      "code": 59527,
      "src": "fontawesome"
    },
    {
      "uid": "5b17c7263caa553039655f2fef81ecaf",
      "css": "bus",
      "code": 61959,
      "src": "fontawesome"
    },
    {
      "uid": "891d861cffd152a6474f01e77716d44e",
      "css": "bicycle",
      "code": 61958,
      "src": "fontawesome"
    },
    {
      "uid": "326dd5dc5899787161184614d04a50b9",
      "css": "motorcycle",
      "code": 61980,
      "src": "fontawesome"
    },
    {
      "uid": "4df54de7f9081aefcc1476068d4464e9",
      "css": "train",
      "code": 62008,
      "src": "fontawesome"
    },
    {
      "uid": "26667777684de4808cedd3783834356f",
      "css": "subway",
      "code": 62009,
      "src": "fontawesome"
    },
    {
      "uid": "3bf0956ae356f79d805fb17f4a523f24",
      "css": "ship",
      "code": 61978,
      "src": "fontawesome"
    },
    {
      "uid": "f279f25007794fa6837ff78fe94b216e",
      "css": "money",
      "code": 61654,
      "src": "fontawesome"
    },
    {
      "uid": "486b835e9eebf54eee78ed12b4291b86",
      "css": "euro",
      "code": 61779,
      "src": "fontawesome"
    },
    {
      "uid": "9854f7f091bd4fdf9b8735ed66667b9d",
      "css": "pound",
      "code": 61780,
      "src": "fontawesome"
    },
    {
      "uid": "026007bd17bfc67f3fe013199676f620",
      "css": "dollar",
      "code": 61781,
      "src": "fontawesome"
    },
    {
      "uid": "62e4fa2c664818d20ce4740cadbf9aeb",
      "css": "rupee",
      "code": 61782,
      "src": "fontawesome"
    },
    {
      "uid": "5f61f8a682b77d2529296a8061bf9597",
      "css": "yen",
      "code": 61783,
      "src": "fontawesome"
    },
    {
      "uid": "243424d56528e83e4fe9ef6e6347a2ef",
      "css": "rouble",
      "code": 61784,
      "src": "fontawesome"
    },
    {
      "uid": "589ae2cbc6d95cc74eb2dbd3fa9c9bcd",
      "css": "shekel",
      "code": 61963,
      "src": "fontawesome"
    },
    {
      "uid": "7f5801d1e299b445ad0090b0a9e94bcb",
      "css": "try",
      "code": 61845,
      "src": "fontawesome"
    },
    {
      "uid": "82f0dc5149d842219e45000bebd683fb",
      "css": "won",
      "code": 61785,
      "src": "fontawesome"
    },
    {
      "uid": "2cb15eb2b295ee3c33fab1530e18a924",
      "css": "bitcoin",
      "code": 61786,
      "src": "fontawesome"
    },
    {
      "uid": "77b6b5ad1966970971c43e40e8d10772",
      "css": "viacoin",
      "code": 62007,
      "src": "fontawesome"
    },
    {
      "uid": "56a21935a5d4d79b2e91ec00f760b369",
      "css": "sort",
      "code": 61660,
      "src": "fontawesome"
    },
    {
      "uid": "94103e1b3f1e8cf514178ec5912b4469",
      "css": "sort-down",
      "code": 61661,
      "src": "fontawesome"
    },
    {
      "uid": "65b3ce930627cabfb6ac81ac60ec5ae4",
      "css": "sort-up",
      "code": 61662,
      "src": "fontawesome"
    },
    {
      "uid": "0cd2582b8c93719d066ee0affd02ac78",
      "css": "sort-alt-up",
      "code": 61792,
      "src": "fontawesome"
    },
    {
      "uid": "27b13eff5eb0ca15e01a6e65ffe6eeec",
      "css": "sort-alt-down",
      "code": 61793,
      "src": "fontawesome"
    },
    {
      "uid": "3ed68ae14e9cde775121954242a412b2",
      "css": "sort-name-up",
      "code": 61789,
      "src": "fontawesome"
    },
    {
      "uid": "6586267200a42008a9fc0a1bf7ac06c7",
      "css": "sort-name-down",
      "code": 61790,
      "src": "fontawesome"
    },
    {
      "uid": "3a7b6876c1817ce3b801b86c04a9d0af",
      "css": "sort-number-up",
      "code": 61794,
      "src": "fontawesome"
    },
    {
      "uid": "b04fc30546f597a7e0a14715e6fc81ff",
      "css": "sort-number-down",
      "code": 61795,
      "src": "fontawesome"
    },
    {
      "uid": "dec0ce0476433f7e49e096526cf89465",
      "css": "hammer",
      "code": 59528,
      "src": "fontawesome"
    },
    {
      "uid": "0bda4bc779d4c32623dec2e43bd67ee8",
      "css": "gauge",
      "code": 61668,
      "src": "fontawesome"
    },
    {
      "uid": "6fe95ffc3c807e62647d4f814a96e0d7",
      "css": "sitemap",
      "code": 61672,
      "src": "fontawesome"
    },
    {
      "uid": "cda0cdcfd38f5f1d9255e722dad42012",
      "css": "spinner",
      "code": 61712,
      "src": "fontawesome"
    },
    {
      "uid": "3a26448b711645ba1abfc86c1a6e2f30",
      "css": "coffee",
      "code": 61684,
      "src": "fontawesome"
    },
    {
      "uid": "30b79160618d99ce798e4bd11cafe3fe",
      "css": "food",
      "code": 61685,
      "src": "fontawesome"
    },
    {
      "uid": "890bcc8897cce868f6ee65cadadde036",
      "css": "beer",
      "code": 61692,
      "src": "fontawesome"
    },
    {
      "uid": "9e8430ce95f56720ae8e7afba291df88",
      "css": "user-md",
      "code": 61680,
      "src": "fontawesome"
    },
    {
      "uid": "5590d2f643b64d2d0757ae660f9c24cb",
      "css": "stethoscope",
      "code": 61681,
      "src": "fontawesome"
    },
    {
      "uid": "d84a06c5ce6da9ebdc9b0a5cb94db4c4",
      "css": "heartbeat",
      "code": 61982,
      "src": "fontawesome"
    },
    {
      "uid": "6dbf07228006788a96eb6244b3591970",
      "css": "ambulance",
      "code": 61689,
      "src": "fontawesome"
    },
    {
      "uid": "46120eb259799eab0dac0691137e5706",
      "css": "medkit",
      "code": 61690,
      "src": "fontawesome"
    },
    {
      "uid": "6f41d9b99564a01f1fde503b7f03bf1a",
      "css": "h-sigh",
      "code": 61693,
      "src": "fontawesome"
    },
    {
      "uid": "df9d9b2fb366c10427ffb727943db912",
      "css": "bed",
      "code": 62006,
      "src": "fontawesome"
    },
    {
      "uid": "c4adaacece4c6341a9ae1816f5ea500c",
      "css": "hospital",
      "code": 61688,
      "src": "fontawesome"
    },
    {
      "uid": "3d1e04316a48ace4e2b81be58343a41c",
      "css": "building",
      "code": 61687,
      "src": "fontawesome"
    },
    {
      "uid": "ede2ea0a583f662b79fbb181b428c20d",
      "css": "building-filled",
      "code": 61869,
      "src": "fontawesome"
    },
    {
      "uid": "8c0ffa714cecbf5144e022d9c3df4a1f",
      "css": "bank",
      "code": 61852,
      "src": "fontawesome"
    },
    {
      "uid": "d862a10e1448589215be19702f98f2c1",
      "css": "smile",
      "code": 61720,
      "src": "fontawesome"
    },
    {
      "uid": "06ddc67d609c477cd5524a7238d7850d",
      "css": "frown",
      "code": 61721,
      "src": "fontawesome"
    },
    {
      "uid": "2c5055a9c9723725f49f0593a08535af",
      "css": "meh",
      "code": 61722,
      "src": "fontawesome"
    },
    {
      "uid": "7a9d73c640892d4b917c706ad95d6fec",
      "css": "anchor",
      "code": 61757,
      "src": "fontawesome"
    },
    {
      "uid": "fa10777b2d88cc64cd6e4f26ef0e5264",
      "css": "terminal",
      "code": 61728,
      "src": "fontawesome"
    },
    {
      "uid": "ebc57fa8400e4ede049ac5dc665210e1",
      "css": "eraser",
      "code": 61741,
      "src": "fontawesome"
    },
    {
      "uid": "5f0f183e241d15cbe486bff88b188dff",
      "css": "puzzle",
      "code": 61742,
      "src": "fontawesome"
    },
    {
      "uid": "44a0e2660ac966cdfaa04deb6aac51df",
      "css": "shield",
      "code": 61746,
      "src": "fontawesome"
    },
    {
      "uid": "1e7648f03fbdc28114a00b33b059b499",
      "css": "extinguisher",
      "code": 61748,
      "src": "fontawesome"
    },
    {
      "uid": "c92ad3028acce9d51bae0ac82f5de8a2",
      "css": "bullseye",
      "code": 61760,
      "src": "fontawesome"
    },
    {
      "uid": "8a67014b864fb93503348593979ddce3",
      "css": "wheelchair",
      "code": 61843,
      "src": "fontawesome"
    },
    {
      "uid": "4fc9b8c122d1b5ca3df42a104a655e8b",
      "css": "language",
      "code": 61867,
      "src": "fontawesome"
    },
    {
      "uid": "20fc52f9a88bb7bda023ef209acac095",
      "css": "graduation-cap",
      "code": 61853,
      "src": "fontawesome"
    },
    {
      "uid": "55605ca79a65def1a9c300037ff1d0d5",
      "css": "paw",
      "code": 61872,
      "src": "fontawesome"
    },
    {
      "uid": "3964e28e6bdf85b3b70df3533db69867",
      "css": "spoon",
      "code": 61873,
      "src": "fontawesome"
    },
    {
      "uid": "fbede3c5584282a0e9b131926dff71da",
      "css": "cube",
      "code": 61874,
      "src": "fontawesome"
    },
    {
      "uid": "af95ef0ddda80a78828c62d386506433",
      "css": "cubes",
      "code": 61875,
      "src": "fontawesome"
    },
    {
      "uid": "288f930b765216bc04e475740331bdf5",
      "css": "recycle",
      "code": 61880,
      "src": "fontawesome"
    },
    {
      "uid": "88da60b3a17e5744695682833a178e73",
      "css": "tree",
      "code": 61883,
      "src": "fontawesome"
    },
    {
      "uid": "347c38a8b96a509270fdcabc951e7571",
      "css": "database",
      "code": 61888,
      "src": "fontawesome"
    },
    {
      "uid": "d59ff824282fc6edaeca991deab522aa",
      "css": "server",
      "code": 62003,
      "src": "fontawesome"
    },
    {
      "uid": "ebffa4e734c8379ffee4fbfe49264d94",
      "css": "lifebuoy",
      "code": 61901,
      "src": "fontawesome"
    },
    {
      "uid": "c53415fbd2695033bd7180d7a9ed4934",
      "css": "rebel",
      "code": 61904,
      "src": "fontawesome"
    },
    {
      "uid": "6632ce1019f9115842335622cb55f4e7",
      "css": "empire",
      "code": 61905,
      "src": "fontawesome"
    },
    {
      "uid": "49ef53dc31aa9442d77f6ba4f559b528",
      "css": "bomb",
      "code": 61922,
      "src": "fontawesome"
    },
    {
      "uid": "cf62866c0cfe3dd14455b381c724f8e1",
      "css": "soccer-ball",
      "code": 61923,
      "src": "fontawesome"
    },
    {
      "uid": "3e1c9aac91dc062dc1af383d43f58ac5",
      "css": "tty",
      "code": 61924,
      "src": "fontawesome"
    },
    {
      "uid": "73ffeb70554099177620847206c12457",
      "css": "binoculars",
      "code": 61925,
      "src": "fontawesome"
    },
    {
      "uid": "a14be0c7e0689076e2bdde97f8e309f9",
      "css": "plug",
      "code": 61926,
      "src": "fontawesome"
    },
    {
      "uid": "032bd8bbd70adf90ead98b6813bfe446",
      "css": "newspaper",
      "code": 61930,
      "src": "fontawesome"
    },
    {
      "uid": "1ee2aeb352153a403df4b441a8bc9bda",
      "css": "calc",
      "code": 61932,
      "src": "fontawesome"
    },
    {
      "uid": "4a74a0f87d4089efe7aba1825bff4193",
      "css": "copyright",
      "code": 61945,
      "src": "fontawesome"
    },
    {
      "uid": "33194d4a025fbf12baca54579afe4c8e",
      "css": "at",
      "code": 61946,
      "src": "fontawesome"
    },
    {
      "uid": "88e6faa0f633ee23667f815689e82af3",
      "css": "eyedropper",
      "code": 61947,
      "src": "fontawesome"
    },
    {
      "uid": "fa9a0b7e788c2d78e24cef1de6b70e80",
      "css": "brush",
      "code": 61948,
      "src": "fontawesome"
    },
    {
      "uid": "bc61ebcf2f5d8d08b1e9e62167df7617",
      "css": "birthday",
      "code": 61949,
      "src": "fontawesome"
    },
    {
      "uid": "f85affb51c357be83d187344c8c6e35c",
      "css": "diamond",
      "code": 61977,
      "src": "fontawesome"
    },
    {
      "uid": "3c7eb0c1678e6fa93cc4264bad3150d6",
      "css": "street-view",
      "code": 61981,
      "src": "fontawesome"
    },
    {
      "uid": "95501182783a570088194c41bc63543b",
      "css": "venus",
      "code": 61985,
      "src": "fontawesome"
    },
    {
      "uid": "5d5d8995aa777cb59c88671e89ab5ced",
      "css": "mars",
      "code": 61986,
      "src": "fontawesome"
    },
    {
      "uid": "c3c269bbbf641affca7e52beb39f7909",
      "css": "mercury",
      "code": 61987,
      "src": "fontawesome"
    },
    {
      "uid": "d589e468da8556b0701206cfdfcfc567",
      "css": "transgender",
      "code": 61988,
      "src": "fontawesome"
    },
    {
      "uid": "5a77a57792f5bfd20fb80827af089d17",
      "css": "transgender-alt",
      "code": 61989,
      "src": "fontawesome"
    },
    {
      "uid": "6c6165b9b97c471cc4c6366f9cf84537",
      "css": "venus-double",
      "code": 61990,
      "src": "fontawesome"
    },
    {
      "uid": "3bc42da674bdbebcb6471ceb42966d33",
      "css": "mars-double",
      "code": 61991,
      "src": "fontawesome"
    },
    {
      "uid": "4ced65e721620e2b3e77b02d54af4100",
      "css": "venus-mars",
      "code": 61992,
      "src": "fontawesome"
    },
    {
      "uid": "6d4f6e98584c8b8ec08bd47a96ed86c4",
      "css": "mars-stroke",
      "code": 61993,
      "src": "fontawesome"
    },
    {
      "uid": "4162b5adba555571ca1be76baa365b9c",
      "css": "mars-stroke-v",
      "code": 61994,
      "src": "fontawesome"
    },
    {
      "uid": "10bd8ed7a393f773e81d145ad5523beb",
      "css": "mars-stroke-h",
      "code": 61995,
      "src": "fontawesome"
    },
    {
      "uid": "14896a85fab311b3a5a9b614fe8c6874",
      "css": "neuter",
      "code": 61996,
      "src": "fontawesome"
    },
    {
      "uid": "e3ed188ab8569b45cf41e74ce81aa86e",
      "css": "cc-visa",
      "code": 61936,
      "src": "fontawesome"
    },
    {
      "uid": "4b1bfce8593a2c1c7d60b9145ada2adf",
      "css": "cc-mastercard",
      "code": 61937,
      "src": "fontawesome"
    },
    {
      "uid": "6413682e05e1c65d13cb76fbca6d67e1",
      "css": "cc-discover",
      "code": 61938,
      "src": "fontawesome"
    },
    {
      "uid": "4e7a8235533632f4df7ba7a2c68cd39d",
      "css": "cc-amex",
      "code": 61939,
      "src": "fontawesome"
    },
    {
      "uid": "b83f99fd47bff831e25255c9bbbbabe7",
      "css": "cc-paypal",
      "code": 61940,
      "src": "fontawesome"
    },
    {
      "uid": "9698d35be5c118ec7521a98130fddc67",
      "css": "cc-stripe",
      "code": 61941,
      "src": "fontawesome"
    },
    {
      "uid": "ef98b489bfb943225e6761cfa9999e9b",
      "css": "adn",
      "code": 61808,
      "src": "fontawesome"
    },
    {
      "uid": "809f2374b759f5b9278ac6307e690ba4",
      "css": "android",
      "code": 61819,
      "src": "fontawesome"
    },
    {
      "uid": "3fb64dab2b2e0a6cefa161387250c620",
      "css": "angellist",
      "code": 61961,
      "src": "fontawesome"
    },
    {
      "uid": "e9fa538fd5913046497ac148e27cd8ea",
      "css": "apple",
      "code": 61817,
      "src": "fontawesome"
    },
    {
      "uid": "aa58e30c7196b1378a6ca78c025cc3b5",
      "css": "behance",
      "code": 61876,
      "src": "fontawesome"
    },
    {
      "uid": "b501bc7737850366e98043c585163eec",
      "css": "behance-squared",
      "code": 61877,
      "src": "fontawesome"
    },
    {
      "uid": "169f51b7e405de8c03cf85a6e8c740ab",
      "css": "bitbucket",
      "code": 61809,
      "src": "fontawesome"
    },
    {
      "uid": "4ae56c66a1f93e28b8d4f866db2b018a",
      "css": "bitbucket-squared",
      "code": 61810,
      "src": "fontawesome"
    },
    {
      "uid": "18d3287c351d9799fedb221e4923b2d2",
      "css": "buysellads",
      "code": 61965,
      "src": "fontawesome"
    },
    {
      "uid": "66faf6c4e3b0e4e33f06171e30253e26",
      "css": "cc",
      "code": 61962,
      "src": "fontawesome"
    },
    {
      "uid": "76675011e906d50af404186b489fc76f",
      "css": "codeopen",
      "code": 61899,
      "src": "fontawesome"
    },
    {
      "uid": "aa4ded7a2d22e21c3cfe775efe267120",
      "css": "connectdevelop",
      "code": 61966,
      "src": "fontawesome"
    },
    {
      "uid": "01c946ce2ed5500e0a918f2b3a7d1923",
      "css": "css3",
      "code": 61756,
      "src": "fontawesome"
    },
    {
      "uid": "71e046578954f177921bcf5b241d0d95",
      "css": "dashcube",
      "code": 61968,
      "src": "fontawesome"
    },
    {
      "uid": "6975c4c656d41a0283d9c52516bf38ed",
      "css": "delicious",
      "code": 61861,
      "src": "fontawesome"
    },
    {
      "uid": "54fad985c676a007c79c346ebaec29d6",
      "css": "deviantart",
      "code": 61885,
      "src": "fontawesome"
    },
    {
      "uid": "ef0e69c3275e8c845aca69a79900092d",
      "css": "digg",
      "code": 61862,
      "src": "fontawesome"
    },
    {
      "uid": "199c44bca402ec5a6351f75ba5228375",
      "css": "dribbble",
      "code": 61821,
      "src": "fontawesome"
    },
    {
      "uid": "9e34a047fee949eae9b6e613d790d6cf",
      "css": "dropbox",
      "code": 61803,
      "src": "fontawesome"
    },
    {
      "uid": "d16ba9078d51e79b5ad6af0235adbd54",
      "css": "drupal",
      "code": 61865,
      "src": "fontawesome"
    },
    {
      "uid": "8e04c98c8f5ca0a035776e3001ad2638",
      "css": "facebook",
      "code": 61594,
      "src": "fontawesome"
    },
    {
      "uid": "4743b088aa95d6f3b6b990e770d3b647",
      "css": "facebook-squared",
      "code": 62216,
      "src": "fontawesome"
    },
    {
      "uid": "6cc7af3e5b55720bcb6ef68372ce24be",
      "css": "facebook-official",
      "code": 62000,
      "src": "fontawesome"
    },
    {
      "uid": "649004fb1ed50395a33c3780236ba8aa",
      "css": "flickr",
      "code": 61806,
      "src": "fontawesome"
    },
    {
      "uid": "7b7116fa67e5e3f4c98e5928ebe3f6ae",
      "css": "forumbee",
      "code": 61969,
      "src": "fontawesome"
    },
    {
      "uid": "a32d12927584e3c8a3dff23eb816d360",
      "css": "foursquare",
      "code": 61824,
      "src": "fontawesome"
    },
    {
      "uid": "c75b7d61b0bce6aeb54292e3952a1568",
      "css": "git-squared",
      "code": 61906,
      "src": "fontawesome"
    },
    {
      "uid": "e7cb72a17f3b21e3576f35c3f0a7639b",
      "css": "git",
      "code": 61907,
      "src": "fontawesome"
    },
    {
      "uid": "5e0a374728ffa8d0ae1f331a8f648231",
      "css": "github",
      "code": 61715,
      "src": "fontawesome"
    },
    {
      "uid": "0ece9a12de796b8411f868d582bee678",
      "css": "github-squared",
      "code": 62208,
      "src": "fontawesome"
    },
    {
      "uid": "0f6a2573a7b6df911ed199bb63717e27",
      "css": "github-circled",
      "code": 61595,
      "src": "fontawesome"
    },
    {
      "uid": "5b4b48418155c35459f12171f97c82ff",
      "css": "gittip",
      "code": 61828,
      "src": "fontawesome"
    },
    {
      "uid": "f06fe7ff18d1c591bc1183cb3ab105e9",
      "css": "google",
      "code": 61856,
      "src": "fontawesome"
    },
    {
      "uid": "b8d0c7d76e87b94882329a88e8e43d3d",
      "css": "gplus",
      "code": 61653,
      "src": "fontawesome"
    },
    {
      "uid": "f0cf7db1b03cb65adc450aa3bdaf8c4d",
      "css": "gplus-squared",
      "code": 61652,
      "src": "fontawesome"
    },
    {
      "uid": "50fbbd926b2a64fcaf384788056c0e43",
      "css": "gwallet",
      "code": 61934,
      "src": "fontawesome"
    },
    {
      "uid": "237ee28b7e826b75a5b6f51ee3e2bfc1",
      "css": "hacker-news",
      "code": 61908,
      "src": "fontawesome"
    },
    {
      "uid": "ff44f01f60948555026580eedf1e39bb",
      "css": "html5",
      "code": 61755,
      "src": "fontawesome"
    },
    {
      "uid": "4c1ef492f1d2c39a2250ae457cee2a6e",
      "css": "instagram",
      "code": 61805,
      "src": "fontawesome"
    },
    {
      "uid": "9b9e5f3ee9e3525808ed2afc83e8bb0b",
      "css": "ioxhost",
      "code": 61960,
      "src": "fontawesome"
    },
    {
      "uid": "8cd1b9899389237def726c08587a649f",
      "css": "joomla",
      "code": 61866,
      "src": "fontawesome"
    },
    {
      "uid": "486f6d0a05aef9e65eeb07be26793bd3",
      "css": "jsfiddle",
      "code": 61900,
      "src": "fontawesome"
    },
    {
      "uid": "5dcf6620378353c5b0089b12d961fedf",
      "css": "lastfm",
      "code": 61954,
      "src": "fontawesome"
    },
    {
      "uid": "32e335f0cd5c4fcc692af6fa742f6b7e",
      "css": "lastfm-squared",
      "code": 61955,
      "src": "fontawesome"
    },
    {
      "uid": "f78244d4753a3aa2be87d56b858d148d",
      "css": "leanpub",
      "code": 61970,
      "src": "fontawesome"
    },
    {
      "uid": "1145676a91138011729fa2909997af66",
      "css": "linkedin-squared",
      "code": 62220,
      "src": "fontawesome"
    },
    {
      "uid": "47a35af762c8e06f3d152750134c8750",
      "css": "linux",
      "code": 61820,
      "src": "fontawesome"
    },
    {
      "uid": "e9107949dd6c9e8ab2b29ae07156e38c",
      "css": "linkedin",
      "code": 61665,
      "src": "fontawesome"
    },
    {
 
Download .txt
gitextract_551m2m5u/

├── .angular-cli.json
├── .circleci/
│   └── config.yml
├── .editorconfig
├── .firebaserc
├── .gitignore
├── .travis.yml
├── README.md
├── cypress/
│   ├── fixtures/
│   │   └── example.json
│   ├── integration/
│   │   ├── devices_spec.js
│   │   ├── locations_spec.js
│   │   ├── profile_spec.js
│   │   └── public_pages_spec.js
│   ├── plugins/
│   │   └── index.js
│   └── support/
│       ├── commands.js
│       └── index.js
├── cypress.json
├── dist/
│   ├── 3rdpartylicenses.txt
│   ├── assets/
│   │   ├── css/
│   │   │   └── forms-style.css
│   │   ├── fonts/
│   │   │   ├── LICENSE.txt
│   │   │   ├── README.txt
│   │   │   ├── config.json
│   │   │   ├── css/
│   │   │   │   ├── FFF-Forward.css
│   │   │   │   ├── animation.css
│   │   │   │   ├── fontello-codes.css
│   │   │   │   ├── fontello-embedded.css
│   │   │   │   ├── fontello-ie7-codes.css
│   │   │   │   ├── fontello-ie7.css
│   │   │   │   ├── fontello.css
│   │   │   │   └── icomoon.css
│   │   │   └── demo.html
│   │   ├── google-fonts/
│   │   │   └── quicksand/
│   │   │       └── import.css
│   │   ├── material-icon.scss
│   │   └── scss/
│   │       ├── _injects.scss
│   │       └── _vars.scss
│   ├── index.html
│   ├── inline.318b50c57b4eba3d437b.bundle.js
│   ├── main.1f97156bf39f455d6051.bundle.js
│   ├── polyfills.3d3c8c0866d3754719db.bundle.js
│   ├── scripts.e519ef3666a8a65c1b79.bundle.js
│   └── styles.9c2b95b3841237efe9ac.bundle.css
├── firebase.json
├── mobile/
│   ├── config.xml
│   ├── hooks/
│   │   └── README.md
│   └── res/
│       ├── README.md
│       └── screen/
│           └── tizen/
│               └── README.md
├── package.json
├── src/
│   ├── app/
│   │   ├── app.module.ts
│   │   ├── app.navigation.ts
│   │   ├── app.reducers.ts
│   │   ├── app.routes.ts
│   │   ├── boilerplate/
│   │   │   ├── angular-calendar/
│   │   │   │   ├── angular-calendar.component.html
│   │   │   │   ├── angular-calendar.component.scss
│   │   │   │   ├── angular-calendar.component.spec.ts
│   │   │   │   └── angular-calendar.component.ts
│   │   │   └── boilerplate.module.ts
│   │   ├── common.ts
│   │   ├── components/
│   │   │   ├── contact-details/
│   │   │   │   ├── contact-details.component.html
│   │   │   │   ├── contact-details.component.scss
│   │   │   │   ├── contact-details.component.spec.ts
│   │   │   │   └── contact-details.component.ts
│   │   │   ├── custom-switch.scss
│   │   │   ├── forms/
│   │   │   │   ├── checkbox-input/
│   │   │   │   │   ├── checkbox-input.component.html
│   │   │   │   │   ├── checkbox-input.component.scss
│   │   │   │   │   └── checkbox-input.component.ts
│   │   │   │   ├── radio-input/
│   │   │   │   │   ├── radio-input.component.html
│   │   │   │   │   ├── radio-input.component.scss
│   │   │   │   │   └── radio-input.component.ts
│   │   │   │   ├── select-input/
│   │   │   │   │   ├── select-input.component.html
│   │   │   │   │   ├── select-input.component.scss
│   │   │   │   │   └── select-input.component.ts
│   │   │   │   └── text-input/
│   │   │   │       ├── text-input.component.html
│   │   │   │       ├── text-input.component.scss
│   │   │   │       └── text-input.component.ts
│   │   │   ├── functions/
│   │   │   │   ├── UpdateOrInsert.ts
│   │   │   │   └── UpdateOrPrepend.ts
│   │   │   ├── gallery/
│   │   │   │   ├── gallery.component.html
│   │   │   │   ├── gallery.component.scss
│   │   │   │   └── gallery.component.ts
│   │   │   ├── if-experimental/
│   │   │   │   ├── if-experimental.component.html
│   │   │   │   ├── if-experimental.component.scss
│   │   │   │   ├── if-experimental.component.spec.ts
│   │   │   │   └── if-experimental.component.ts
│   │   │   ├── loading/
│   │   │   │   ├── loading.component.html
│   │   │   │   ├── loading.component.scss
│   │   │   │   └── loading.component.ts
│   │   │   ├── navigation/
│   │   │   │   ├── navigation.component.html
│   │   │   │   ├── navigation.component.scss
│   │   │   │   └── navigation.component.ts
│   │   │   ├── ngx-tooltip/
│   │   │   │   ├── ngx-tooltip.component.html
│   │   │   │   ├── ngx-tooltip.component.scss
│   │   │   │   ├── ngx-tooltip.component.spec.ts
│   │   │   │   ├── ngx-tooltip.component.ts
│   │   │   │   ├── ngx-tooltip.module.ts
│   │   │   │   └── tooltip.directive.ts
│   │   │   ├── notification-list/
│   │   │   │   ├── notification-list.component.html
│   │   │   │   ├── notification-list.component.scss
│   │   │   │   ├── notification-list.component.spec.ts
│   │   │   │   └── notification-list.component.ts
│   │   │   ├── output-pin-view/
│   │   │   │   ├── output-pin-view.component.html
│   │   │   │   ├── output-pin-view.component.scss
│   │   │   │   └── output-pin-view.component.ts
│   │   │   ├── page-header/
│   │   │   │   ├── page-header.component.html
│   │   │   │   ├── page-header.component.scss
│   │   │   │   └── page-header.component.ts
│   │   │   ├── privacy-policy/
│   │   │   │   ├── privacy-policy.component.html
│   │   │   │   ├── privacy-policy.component.scss
│   │   │   │   ├── privacy-policy.component.spec.ts
│   │   │   │   └── privacy-policy.component.ts
│   │   │   ├── profile/
│   │   │   │   ├── profile.component.html
│   │   │   │   ├── profile.component.scss
│   │   │   │   ├── profile.component.spec.ts
│   │   │   │   └── profile.component.ts
│   │   │   ├── quick-chart/
│   │   │   │   ├── quick-chart.component.html
│   │   │   │   ├── quick-chart.component.scss
│   │   │   │   ├── quick-chart.component.spec.ts
│   │   │   │   └── quick-chart.component.ts
│   │   │   ├── settings/
│   │   │   │   ├── settings.component.html
│   │   │   │   ├── settings.component.scss
│   │   │   │   └── settings.component.ts
│   │   │   ├── sidebar-widget/
│   │   │   │   ├── sidebar-widget.component.html
│   │   │   │   ├── sidebar-widget.component.scss
│   │   │   │   └── sidebar-widget.component.ts
│   │   │   └── user-widget/
│   │   │       ├── user-widget.component.html
│   │   │       ├── user-widget.component.scss
│   │   │       └── user-widget.component.ts
│   │   ├── data-layer/
│   │   │   ├── activity.reducer.ts
│   │   │   └── notifications.reducer.ts
│   │   ├── definitions.ts
│   │   ├── iot/
│   │   │   ├── activity/
│   │   │   │   ├── activity-widget/
│   │   │   │   │   ├── activity-widget.component.html
│   │   │   │   │   ├── activity-widget.component.scss
│   │   │   │   │   └── activity-widget.component.ts
│   │   │   │   ├── activity.component.html
│   │   │   │   ├── activity.component.scss
│   │   │   │   └── activity.component.ts
│   │   │   ├── checkbox-switch.scss
│   │   │   ├── co2/
│   │   │   │   ├── co2.component.html
│   │   │   │   ├── co2.component.scss
│   │   │   │   ├── co2.component.spec.ts
│   │   │   │   └── co2.component.ts
│   │   │   ├── d3ne/
│   │   │   │   ├── d3ne.component.html
│   │   │   │   ├── d3ne.component.scss
│   │   │   │   ├── d3ne.component.spec.ts
│   │   │   │   └── d3ne.component.ts
│   │   │   ├── device-co2/
│   │   │   │   ├── device-co2.component.html
│   │   │   │   ├── device-co2.component.scss
│   │   │   │   └── device-co2.component.ts
│   │   │   ├── device-events-actions/
│   │   │   │   ├── device-events-actions.component.html
│   │   │   │   ├── device-events-actions.component.scss
│   │   │   │   ├── device-events-actions.component.spec.ts
│   │   │   │   └── device-events-actions.component.ts
│   │   │   ├── device-general-information/
│   │   │   │   ├── device-general-information.component.html
│   │   │   │   ├── device-general-information.component.scss
│   │   │   │   └── device-general-information.component.ts
│   │   │   ├── device-humidity/
│   │   │   │   ├── device-humidity.component.html
│   │   │   │   ├── device-humidity.component.scss
│   │   │   │   └── device-humidity.component.ts
│   │   │   ├── device-lamp/
│   │   │   │   ├── device-lamp.component.html
│   │   │   │   ├── device-lamp.component.scss
│   │   │   │   └── device-lamp.component.ts
│   │   │   ├── device-single/
│   │   │   │   ├── device-single.component.html
│   │   │   │   ├── device-single.component.scss
│   │   │   │   └── device-single.component.ts
│   │   │   ├── device-temperature/
│   │   │   │   ├── device-temperature.component.html
│   │   │   │   ├── device-temperature.component.scss
│   │   │   │   └── device-temperature.component.ts
│   │   │   ├── devices/
│   │   │   │   ├── devices.component.html
│   │   │   │   ├── devices.component.scss
│   │   │   │   └── devices.component.ts
│   │   │   ├── docs/
│   │   │   │   ├── docs-api-workaround/
│   │   │   │   │   ├── docs-api-workaround.component.html
│   │   │   │   │   ├── docs-api-workaround.component.scss
│   │   │   │   │   └── docs-api-workaround.component.ts
│   │   │   │   ├── docs.component.html
│   │   │   │   ├── docs.component.scss
│   │   │   │   ├── docs.component.ts
│   │   │   │   ├── docs.styling.scss
│   │   │   │   ├── restful/
│   │   │   │   │   ├── restful.component.html
│   │   │   │   │   ├── restful.component.scss
│   │   │   │   │   ├── restful.component.spec.ts
│   │   │   │   │   └── restful.component.ts
│   │   │   │   └── sending-information-https/
│   │   │   │       ├── sending-information-https.component.html
│   │   │   │       ├── sending-information-https.component.scss
│   │   │   │       ├── sending-information-https.component.spec.ts
│   │   │   │       └── sending-information-https.component.ts
│   │   │   ├── experimental/
│   │   │   │   ├── experimental.component.html
│   │   │   │   ├── experimental.component.scss
│   │   │   │   ├── experimental.component.spec.ts
│   │   │   │   └── experimental.component.ts
│   │   │   ├── gps/
│   │   │   │   ├── gps.component.html
│   │   │   │   ├── gps.component.scss
│   │   │   │   ├── gps.component.spec.ts
│   │   │   │   └── gps.component.ts
│   │   │   ├── if-not-english/
│   │   │   │   ├── if-not-english.component.html
│   │   │   │   ├── if-not-english.component.scss
│   │   │   │   ├── if-not-english.component.spec.ts
│   │   │   │   └── if-not-english.component.ts
│   │   │   ├── index/
│   │   │   │   ├── icon-widgets/
│   │   │   │   │   ├── icon-widgets.component.html
│   │   │   │   │   ├── icon-widgets.component.scss
│   │   │   │   │   └── icon-widgets.component.ts
│   │   │   │   ├── index.component.html
│   │   │   │   ├── index.component.scss
│   │   │   │   └── index.component.ts
│   │   │   ├── iot-common.service.ts
│   │   │   ├── iot-mock.interceptor.ts
│   │   │   ├── iot-mocks.service.ts
│   │   │   ├── iot-mocks.ts
│   │   │   ├── iot-module.reducers.ts
│   │   │   ├── iot-requests.service.ts
│   │   │   ├── iot-routes.ts
│   │   │   ├── iot.module.defs.ts
│   │   │   ├── iot.module.ts
│   │   │   ├── iot.navigation.ts
│   │   │   ├── locations/
│   │   │   │   ├── location-row/
│   │   │   │   │   ├── location-row.component.html
│   │   │   │   │   ├── location-row.component.scss
│   │   │   │   │   └── location-row.component.ts
│   │   │   │   ├── location-single/
│   │   │   │   │   ├── location-single.component.html
│   │   │   │   │   ├── location-single.component.scss
│   │   │   │   │   └── location-single.component.ts
│   │   │   │   ├── locations.component.html
│   │   │   │   ├── locations.component.scss
│   │   │   │   └── locations.component.ts
│   │   │   ├── places/
│   │   │   │   ├── places.component.html
│   │   │   │   ├── places.component.scss
│   │   │   │   └── places.component.ts
│   │   │   ├── realtime.service.ts
│   │   │   ├── reducers/
│   │   │   │   ├── devices.reducer.ts
│   │   │   │   ├── locations.reducer.ts
│   │   │   │   └── unconnectedSources.reducer.ts
│   │   │   ├── statistics/
│   │   │   │   ├── statistics.component.html
│   │   │   │   ├── statistics.component.scss
│   │   │   │   └── statistics.component.ts
│   │   │   ├── switch-widgets/
│   │   │   │   ├── switch-widgets.component.html
│   │   │   │   ├── switch-widgets.component.scss
│   │   │   │   └── switch-widgets.component.ts
│   │   │   ├── water-bubble/
│   │   │   │   ├── water-bubble.component.html
│   │   │   │   ├── water-bubble.component.scss
│   │   │   │   ├── water-bubble.component.spec.ts
│   │   │   │   └── water-bubble.component.ts
│   │   │   └── widgets/
│   │   │       ├── activities/
│   │   │       │   ├── activities.component.html
│   │   │       │   ├── activities.component.scss
│   │   │       │   ├── activities.component.spec.ts
│   │   │       │   └── activities.component.ts
│   │   │       ├── co2-widget/
│   │   │       │   ├── co2-widget.component.html
│   │   │       │   ├── co2-widget.component.scss
│   │   │       │   └── co2-widget.component.ts
│   │   │       ├── daily-statistics/
│   │   │       │   ├── daily-statistics.component.html
│   │   │       │   ├── daily-statistics.component.scss
│   │   │       │   ├── daily-statistics.component.spec.ts
│   │   │       │   └── daily-statistics.component.ts
│   │   │       ├── history-statistics/
│   │   │       │   ├── history-statistics.component.html
│   │   │       │   ├── history-statistics.component.scss
│   │   │       │   ├── history-statistics.component.spec.ts
│   │   │       │   └── history-statistics.component.ts
│   │   │       ├── humidity/
│   │   │       │   ├── humidity.component.html
│   │   │       │   ├── humidity.component.scss
│   │   │       │   └── humidity.component.ts
│   │   │       ├── kana-beta/
│   │   │       │   ├── kana-beta.component.html
│   │   │       │   ├── kana-beta.component.scss
│   │   │       │   └── kana-beta.component.ts
│   │   │       └── lamp-card/
│   │   │           ├── lamp-card.component.html
│   │   │           ├── lamp-card.component.scss
│   │   │           └── lamp-card.component.ts
│   │   ├── ng-media/
│   │   │   ├── components/
│   │   │   │   ├── canvas/
│   │   │   │   │   ├── canvas.component.html
│   │   │   │   │   ├── canvas.component.scss
│   │   │   │   │   ├── canvas.component.spec.ts
│   │   │   │   │   └── canvas.component.ts
│   │   │   │   ├── grid-view/
│   │   │   │   │   ├── grid-view.component.html
│   │   │   │   │   ├── grid-view.component.scss
│   │   │   │   │   ├── grid-view.component.spec.ts
│   │   │   │   │   └── grid-view.component.ts
│   │   │   │   ├── image-cropper/
│   │   │   │   │   ├── image-cropper.component.html
│   │   │   │   │   ├── image-cropper.component.scss
│   │   │   │   │   ├── image-cropper.component.spec.ts
│   │   │   │   │   └── image-cropper.component.ts
│   │   │   │   ├── image-editor/
│   │   │   │   │   ├── image-editor.component.html
│   │   │   │   │   ├── image-editor.component.scss
│   │   │   │   │   ├── image-editor.component.spec.ts
│   │   │   │   │   └── image-editor.component.ts
│   │   │   │   ├── media-details/
│   │   │   │   │   ├── media-details.component.html
│   │   │   │   │   ├── media-details.component.scss
│   │   │   │   │   ├── media-details.component.spec.ts
│   │   │   │   │   └── media-details.component.ts
│   │   │   │   ├── media-toolbar/
│   │   │   │   │   ├── media-toolbar.component.html
│   │   │   │   │   ├── media-toolbar.component.scss
│   │   │   │   │   ├── media-toolbar.component.spec.ts
│   │   │   │   │   └── media-toolbar.component.ts
│   │   │   │   ├── ng-media/
│   │   │   │   │   ├── ng-media.component.html
│   │   │   │   │   ├── ng-media.component.scss
│   │   │   │   │   ├── ng-media.component.spec.ts
│   │   │   │   │   └── ng-media.component.ts
│   │   │   │   ├── ng-media-selector/
│   │   │   │   │   ├── ng-media-selector.component.html
│   │   │   │   │   ├── ng-media-selector.component.scss
│   │   │   │   │   ├── ng-media-selector.component.spec.ts
│   │   │   │   │   └── ng-media-selector.component.ts
│   │   │   │   └── upload/
│   │   │   │       ├── upload.component.html
│   │   │   │       ├── upload.component.scss
│   │   │   │       ├── upload.component.spec.ts
│   │   │   │       └── upload.component.ts
│   │   │   ├── index.ts
│   │   │   ├── interfaces/
│   │   │   │   └── definitions.ts
│   │   │   ├── mocks.ts
│   │   │   ├── ng-media-module.ts
│   │   │   ├── ngm-assets/
│   │   │   │   ├── fonts/
│   │   │   │   │   └── dashicons.scss
│   │   │   │   └── style.scss
│   │   │   ├── services/
│   │   │   │   ├── detail-panel.service.spec.ts
│   │   │   │   ├── detail-panel.service.ts
│   │   │   │   ├── public.service.spec.ts
│   │   │   │   ├── public.service.ts
│   │   │   │   ├── requests.service.spec.ts
│   │   │   │   ├── requests.service.ts
│   │   │   │   ├── storage.ts
│   │   │   │   ├── store.service.spec.ts
│   │   │   │   ├── store.service.ts
│   │   │   │   ├── uploader.service.spec.ts
│   │   │   │   ├── uploader.service.ts
│   │   │   │   ├── utils.service.spec.ts
│   │   │   │   └── utils.service.ts
│   │   │   └── spinner/
│   │   │       ├── spinner.component.html
│   │   │       ├── spinner.component.scss
│   │   │       ├── spinner.component.spec.ts
│   │   │       └── spinner.component.ts
│   │   ├── ng5-basic/
│   │   │   ├── actions.service.ts
│   │   │   ├── authentication/
│   │   │   │   ├── authentication.module.ts
│   │   │   │   ├── common.scss
│   │   │   │   ├── core.service.spec.ts
│   │   │   │   ├── core.service.ts
│   │   │   │   ├── error-message/
│   │   │   │   │   ├── error-message.component.html
│   │   │   │   │   ├── error-message.component.scss
│   │   │   │   │   ├── error-message.component.spec.ts
│   │   │   │   │   └── error-message.component.ts
│   │   │   │   ├── forgot-password/
│   │   │   │   │   ├── forgot-password.component.html
│   │   │   │   │   ├── forgot-password.component.scss
│   │   │   │   │   ├── forgot-password.component.spec.ts
│   │   │   │   │   └── forgot-password.component.ts
│   │   │   │   ├── login-form/
│   │   │   │   │   ├── login-form.component.html
│   │   │   │   │   ├── login-form.component.scss
│   │   │   │   │   ├── login-form.component.spec.ts
│   │   │   │   │   └── login-form.component.ts
│   │   │   │   ├── material-input.directive.spec.ts
│   │   │   │   ├── material-input.directive.ts
│   │   │   │   ├── progress-line/
│   │   │   │   │   ├── progress-line.component.html
│   │   │   │   │   ├── progress-line.component.scss
│   │   │   │   │   └── progress-line.component.ts
│   │   │   │   ├── reset-password/
│   │   │   │   │   ├── reset-password.component.html
│   │   │   │   │   ├── reset-password.component.scss
│   │   │   │   │   ├── reset-password.component.spec.ts
│   │   │   │   │   └── reset-password.component.ts
│   │   │   │   ├── shared.ts
│   │   │   │   └── signup-form/
│   │   │   │       ├── signup-form.component.html
│   │   │   │       ├── signup-form.component.scss
│   │   │   │       ├── signup-form.component.spec.ts
│   │   │   │       └── signup-form.component.ts
│   │   │   ├── basic-styles.scss
│   │   │   ├── error-message/
│   │   │   │   ├── error-message.component.html
│   │   │   │   ├── error-message.component.scss
│   │   │   │   ├── error-message.component.spec.ts
│   │   │   │   └── error-message.component.ts
│   │   │   ├── footer/
│   │   │   │   ├── footer.component.html
│   │   │   │   ├── footer.component.scss
│   │   │   │   ├── footer.component.spec.ts
│   │   │   │   └── footer.component.ts
│   │   │   ├── globalization.service.ts
│   │   │   ├── layout/
│   │   │   │   ├── layout.component.html
│   │   │   │   ├── layout.component.scss
│   │   │   │   ├── layout.component.spec.ts
│   │   │   │   └── layout.component.ts
│   │   │   ├── nav-bar/
│   │   │   │   ├── nav-bar.component.html
│   │   │   │   ├── nav-bar.component.scss
│   │   │   │   ├── nav-bar.component.spec.ts
│   │   │   │   └── nav-bar.component.ts
│   │   │   ├── ng5-basic.module.ts
│   │   │   ├── ngx-sidebar/
│   │   │   │   ├── ngx-sidebar.component.html
│   │   │   │   ├── ngx-sidebar.component.scss
│   │   │   │   ├── ngx-sidebar.component.spec.ts
│   │   │   │   ├── ngx-sidebar.component.ts
│   │   │   │   ├── ngx-sidebar.module.ts
│   │   │   │   └── sidebar-controller.service.ts
│   │   │   ├── page-container/
│   │   │   │   ├── page-container.component.html
│   │   │   │   ├── page-container.component.scss
│   │   │   │   ├── page-container.component.spec.ts
│   │   │   │   └── page-container.component.ts
│   │   │   ├── profile-menu/
│   │   │   │   ├── profile-menu.component.html
│   │   │   │   ├── profile-menu.component.scss
│   │   │   │   ├── profile-menu.component.spec.ts
│   │   │   │   └── profile-menu.component.ts
│   │   │   ├── progress-line/
│   │   │   │   ├── progress-line.component.html
│   │   │   │   ├── progress-line.component.scss
│   │   │   │   └── progress-line.component.ts
│   │   │   ├── side-bar/
│   │   │   │   ├── side-bar.component.html
│   │   │   │   ├── side-bar.component.scss
│   │   │   │   ├── side-bar.component.spec.ts
│   │   │   │   └── side-bar.component.ts
│   │   │   ├── ui-icon-box/
│   │   │   │   ├── ui-icon-box.component.html
│   │   │   │   ├── ui-icon-box.component.scss
│   │   │   │   ├── ui-icon-box.component.spec.ts
│   │   │   │   └── ui-icon-box.component.ts
│   │   │   ├── ui-panel-box/
│   │   │   │   ├── ui-panel-box.component.html
│   │   │   │   ├── ui-panel-box.component.scss
│   │   │   │   ├── ui-panel-box.component.spec.ts
│   │   │   │   └── ui-panel-box.component.ts
│   │   │   └── ui-small-box/
│   │   │       ├── ui-small-box.component.html
│   │   │       ├── ui-small-box.component.scss
│   │   │       ├── ui-small-box.component.spec.ts
│   │   │       └── ui-small-box.component.ts
│   │   ├── services/
│   │   │   ├── iot-svg/
│   │   │   │   └── iot-svg.service.ts
│   │   │   ├── mock.interceptor.ts
│   │   │   ├── mocks.service.ts
│   │   │   ├── notification.service.ts
│   │   │   ├── permissions.service.ts
│   │   │   ├── requests.service.ts
│   │   │   ├── token.interceptor.ts
│   │   │   └── user.service.ts
│   │   ├── translations/
│   │   │   ├── fa.ts
│   │   │   └── pl.ts
│   │   └── users/
│   │       ├── reducers/
│   │       │   ├── roles.reducer.ts
│   │       │   └── users.reducer.ts
│   │       ├── role-archive/
│   │       │   ├── role-archive.component.html
│   │       │   ├── role-archive.component.scss
│   │       │   └── role-archive.component.ts
│   │       ├── role-single/
│   │       │   ├── role-single.component.html
│   │       │   ├── role-single.component.scss
│   │       │   └── role-single.component.ts
│   │       ├── translations/
│   │       │   └── users.module.en.ts
│   │       ├── user-common.service.ts
│   │       ├── user-mock.interceptor.ts
│   │       ├── user-mocks.service.ts
│   │       ├── user-module.reducers.ts
│   │       ├── user-requests.service.ts
│   │       ├── user-routes.ts
│   │       ├── user.module.defs.ts
│   │       ├── users-archive/
│   │       │   ├── users-archive.component.html
│   │       │   ├── users-archive.component.scss
│   │       │   └── users-archive.component.ts
│   │       ├── users-single/
│   │       │   ├── users-single.component.html
│   │       │   ├── users-single.component.scss
│   │       │   └── users-single.component.ts
│   │       ├── users.module.ts
│   │       └── users.navigation.ts
│   ├── assets/
│   │   ├── .gitkeep
│   │   ├── css/
│   │   │   └── forms-style.css
│   │   ├── fonts/
│   │   │   ├── LICENSE.txt
│   │   │   ├── README.txt
│   │   │   ├── config.json
│   │   │   ├── css/
│   │   │   │   ├── FFF-Forward.css
│   │   │   │   ├── animation.css
│   │   │   │   ├── fontello-codes.css
│   │   │   │   ├── fontello-embedded.css
│   │   │   │   ├── fontello-ie7-codes.css
│   │   │   │   ├── fontello-ie7.css
│   │   │   │   ├── fontello.css
│   │   │   │   └── icomoon.css
│   │   │   └── demo.html
│   │   ├── google-fonts/
│   │   │   └── quicksand/
│   │   │       └── import.css
│   │   ├── material-icon.scss
│   │   └── scss/
│   │       ├── _injects.scss
│   │       └── _vars.scss
│   ├── environments/
│   │   ├── environment.github.ts
│   │   ├── environment.hmr.ts
│   │   ├── environment.prod.ts
│   │   ├── environment.prodlocal.ts
│   │   ├── environment.prodmock.ts
│   │   └── environment.ts
│   ├── hmr.ts
│   ├── index-mobile.html
│   ├── index.html
│   ├── main.ts
│   ├── polyfills.ts
│   ├── styles.scss
│   ├── styling/
│   │   ├── _medias.scss
│   │   └── _mixins.scss
│   ├── tsconfig.app.json
│   ├── typings.d.ts
│   └── vendor/
│       └── lodash.ts
├── tsconfig.json
└── tslint.json
Download .txt
Showing preview only (228K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (2620 symbols across 152 files)

FILE: dist/inline.318b50c57b4eba3d437b.bundle.js
  function t (line 1) | function t(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{...

FILE: dist/main.1f97156bf39f455d6051.bundle.js
  function n (line 1) | function n(n){t.call(this),this.scheduler=n}
  function e (line 1) | function e(t){this.ms=(t=t||{}).min||100,this.max=t.max||1e4,this.factor...
  function t (line 1) | function t(t){this.defaultValue=t}
  function n (line 1) | function n(n,e){t.call(this,n),this.defaultValue=e,this.isEmpty=!0}
  function t (line 1) | function t(t,n){var e,r,o,i,l,a,s,u,c;for(null==n&&(n=""),o="",l=t.lengt...
  function s (line 1) | function s(){return function(t){return t.lift(new u(t))}}
  function t (line 1) | function t(t){this.connectable=t}
  function n (line 1) | function n(n,e){t.call(this,n),this.connectable=e}
  function n (line 1) | function n(n,e){t.call(this),this.source=n,this.subjectFactory=e,this._r...
  function n (line 1) | function n(n,e){t.call(this,n),this.connectable=e}
  function d (line 1) | function d(){return new o.a}
  function c (line 1) | function c(t){u&&!(t&&t.forceBase64)||(this.supportsBinary=!1),r.call(th...
  function e (line 1) | function e(){s("paused"),n.readyState="paused",t()}
  function n (line 1) | function n(){s("writing close packet"),t.write([{type:"close"}])}
  function s (line 1) | function s(t){return t=function(t){return"string"==typeof t&&(t={pattern...
  function u (line 1) | function u(t,n){"/"!==n.charAt(0)&&(n="/"+n);var e=s(t),r=e.params,o=e.p...
  function t (line 1) | function t(t,n){this.project=t,this.resultSelector=n}
  function n (line 1) | function n(n,e,r){t.call(this,n),this.project=e,this.resultSelector=r,th...
  function i (line 1) | function i(t){for(var n=0;n<t.length;n++){var e=t[n];if(e.buffer instanc...
  function o (line 1) | function o(t){return t}
  function c (line 1) | function c(t){var n;if(!(n=t||u))throw"node"===i.platform?new Error("No ...
  function u (line 1) | function u(t){var n=typeof t;return!!t&&("object"==n||"function"==n)}
  function c (line 1) | function c(t){return t}
  function y (line 1) | function y(t){var n=typeof t;return!!t&&("object"==n||"function"==n)}
  function b (line 1) | function b(t){return t?(t=function(t){if("number"==typeof t)return t;if(...
  function n (line 1) | function n(t,n,e){this.message=t,this.parsedLine=n,this.snippet=e}
  function o (line 1) | function o(){this.constructor=t}
  function t (line 1) | function t(t){if(this.total=t,this.total<0)throw new i.a}
  function n (line 1) | function n(n,e){t.call(this,n),this.total=e,this.count=0}
  function u (line 1) | function u(t){var n="";do{n=o[t%i]+n,t=Math.floor(t/i)}while(t>0);return n}
  function c (line 1) | function c(){var t=u(+new Date);return t!==r?(a=0,r=t):t+"."+u(a++)}
  function f (line 1) | function f(t,n,e){this.io=t,this.nsp=n,this.json=this,this.ids=0,this.ac...
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function r (line 1) | function r(t){return t}
  function o (line 1) | function o(){var t=document.querySelectorAll("input");return Array.proto...
  function i (line 1) | function i(t){var n=document.querySelectorAll("input");t&&n.length===t.l...
  function f (line 1) | function f(t,n){if(!(this instanceof f))return new f(t,n);t&&"object"==t...
  function i (line 1) | function i(){~c(r.connecting,e)||r.connecting.push(e)}
  function n (line 1) | function n(t,n,e){this.message=t,this.parsedLine=n,this.snippet=e}
  function o (line 1) | function o(){this.constructor=t}
  function o (line 1) | function o(t,n,e){return 0===e?[n]:(t.push(n),t)}
  function s (line 1) | function s(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var e,o=r(t),...
  function t (line 1) | function t(t,n,e){void 0===e&&(e=!1),this.accumulator=t,this.seed=n,this...
  function n (line 1) | function n(n,e,r,o){t.call(this,n),this.accumulator=e,this._seed=r,this....
  function u (line 1) | function u(t){var n=t.length;if(n%4>0)throw new Error("Invalid string. L...
  function c (line 1) | function c(t,n,e){for(var o,i=[],l=n;l<e;l+=3)i.push(r[(o=(t[l]<<16&1671...
  function l (line 1) | function l(t,n,e){if(!(t<n))return t<1.5*n?Math.floor(t/n)+" "+e:Math.ce...
  function g (line 1) | function g(t,n,e){for(var r=new Array(t.length),o=a(t.length,e),i=functi...
  function c (line 1) | function c(t,n){n=n||"";var e=t>0?"-":"+",r=Math.abs(t),o=r%60;return e+...
  function p (line 1) | function p(t,n){for(var e=Math.abs(t).toString();e.length<n;)e="0"+e;ret...
  function l (line 1) | function l(){return s.TYPED_ARRAY_SUPPORT?2147483647:1073741823}
  function a (line 1) | function a(t,n){if(l()<n)throw new RangeError("Invalid typed array lengt...
  function s (line 1) | function s(t,n,e){if(!(s.TYPED_ARRAY_SUPPORT||this instanceof s))return ...
  function u (line 1) | function u(t,n,e,r){if("number"==typeof n)throw new TypeError('"value" a...
  function c (line 1) | function c(t){if("number"!=typeof t)throw new TypeError('"size" argument...
  function p (line 1) | function p(t,n){if(c(n),t=a(t,n<0?0:0|f(n)),!s.TYPED_ARRAY_SUPPORT)for(v...
  function A (line 1) | function A(t,n){var e=n.length<0?0:0|f(n.length);t=a(t,e);for(var r=0;r<...
  function f (line 1) | function f(t){if(t>=l())throw new RangeError("Attempt to allocate Buffer...
  function d (line 1) | function d(t,n){if(s.isBuffer(t))return t.length;if("undefined"!=typeof ...
  function h (line 1) | function h(t,n,e){var r=t[n];t[n]=t[e],t[e]=r}
  function g (line 1) | function g(t,n,e,r,o){if(0===t.length)return-1;if("string"==typeof e?(r=...
  function y (line 1) | function y(t,n,e,r,o){var i,l=1,a=t.length,s=n.length;if(void 0!==r&&("u...
  function b (line 1) | function b(t,n,e,r){e=Number(e)||0;var o=t.length-e;r?(r=Number(r))>o&&(...
  function P (line 1) | function P(t,n,e,r){return J(z(n,t.length-e),t,e,r)}
  function k (line 1) | function k(t,n,e,r){return J(function(t){for(var n=[],e=0;e<t.length;++e...
  function m (line 1) | function m(t,n,e,r){return k(t,n,e,r)}
  function j (line 1) | function j(t,n,e,r){return J(C(n),t,e,r)}
  function x (line 1) | function x(t,n,e,r){return J(function(t,n){for(var e,r,o=[],i=0;i<t.leng...
  function v (line 1) | function v(t,n,e){return r.fromByteArray(0===n&&e===t.length?t:t.slice(n...
  function S (line 1) | function S(t,n,e){e=Math.min(t.length,e);for(var r=[],o=n;o<e;){var i,l,...
  function q (line 1) | function q(t,n,e){var r="";e=Math.min(t.length,e);for(var o=n;o<e;++o)r+...
  function V (line 1) | function V(t,n,e){var r="";e=Math.min(t.length,e);for(var o=n;o<e;++o)r+...
  function H (line 1) | function H(t,n,e){var r,o=t.length;(!n||n<0)&&(n=0),(!e||e<0||e>o)&&(e=o...
  function T (line 1) | function T(t,n,e){for(var r=t.slice(n,e),o="",i=0;i<r.length;i+=2)o+=Str...
  function W (line 1) | function W(t,n,e){if(t%1!=0||t<0)throw new RangeError("offset is not uin...
  function U (line 1) | function U(t,n,e,r,o,i){if(!s.isBuffer(t))throw new TypeError('"buffer" ...
  function M (line 1) | function M(t,n,e,r){n<0&&(n=65535+n+1);for(var o=0,i=Math.min(t.length-e...
  function R (line 1) | function R(t,n,e,r){n<0&&(n=4294967295+n+1);for(var o=0,i=Math.min(t.len...
  function w (line 1) | function w(t,n,e,r,o,i){if(e+r>t.length)throw new RangeError("Index out ...
  function N (line 1) | function N(t,n,e,r,i){return i||w(t,0,e,4),o.write(t,n,e,r,23,4),e+4}
  function I (line 1) | function I(t,n,e,r,i){return i||w(t,0,e,8),o.write(t,n,e,r,52,8),e+8}
  function z (line 1) | function z(t,n){var e;n=n||1/0;for(var r=t.length,o=null,i=[],l=0;l<r;++...
  function C (line 1) | function C(t){return r.toByteArray(function(t){if((t=function(t){return ...
  function J (line 1) | function J(t,n,e,r){for(var o=0;o<r&&!(o+e>=n.length||o>=t.length);++o)n...
  function o (line 1) | function o(){var t;try{t=n.storage.debug}catch(t){}return!t&&"undefined"...
  function i (line 1) | function i(){try{return r.apply(this,arguments)}catch(t){return o.a.e=t,...
  function t (line 1) | function t(t,n){this.project=t,this.thisArg=n}
  function n (line 1) | function n(n,e,r){t.call(this,n),this.project=e,this.count=0,this.thisAr...
  function e (line 1) | function e(t){return Promise.resolve().then(function(){throw new Error("...
  function t (line 1) | function t(){}
  function Nn (line 1) | function Nn(t,n,e){switch(e.length){case 0:return t.call(n);case 1:retur...
  function In (line 1) | function In(t,n,e,r){for(var o=-1,i=null==t?0:t.length;++o<i;){var l=t[o...
  function Kn (line 1) | function Kn(t,n){for(var e=-1,r=null==t?0:t.length;++e<r&&!1!==n(t[e],e,...
  function zn (line 1) | function zn(t,n){for(var e=-1,r=null==t?0:t.length;++e<r;)if(!n(t[e],e,t...
  function Cn (line 1) | function Cn(t,n){for(var e=-1,r=null==t?0:t.length,o=0,i=[];++e<r;){var ...
  function Jn (line 1) | function Jn(t,n){return!(null==t||!t.length)&&Qn(t,n,0)>-1}
  function Gn (line 1) | function Gn(t,n,e){for(var r=-1,o=null==t?0:t.length;++r<o;)if(e(n,t[r])...
  function Xn (line 1) | function Xn(t,n){for(var e=-1,r=null==t?0:t.length,o=Array(r);++e<r;)o[e...
  function Zn (line 1) | function Zn(t,n){for(var e=-1,r=n.length,o=t.length;++e<r;)t[o+e]=n[e];r...
  function Dn (line 1) | function Dn(t,n,e,r){var o=-1,i=null==t?0:t.length;for(r&&i&&(e=t[++o]);...
  function Ln (line 1) | function Ln(t,n,e,r){var o=null==t?0:t.length;for(r&&o&&(e=t[--o]);o--;)...
  function Fn (line 1) | function Fn(t,n){for(var e=-1,r=null==t?0:t.length;++e<r;)if(n(t[e],e,t)...
  function Bn (line 1) | function Bn(t,n,e){var r;return e(t,function(t,e,o){if(n(t,e,o))return r...
  function En (line 1) | function En(t,n,e,r){for(var o=t.length,i=e+(r?1:-1);r?i--:++i<o;)if(n(t...
  function Qn (line 1) | function Qn(t,n,e){return n==n?function(t,n,e){for(var r=e-1,o=t.length;...
  function _n (line 1) | function _n(t,n,e,r){for(var o=e-1,i=t.length;++o<i;)if(r(t[o],n))return...
  function $n (line 1) | function $n(t){return t!=t}
  function te (line 1) | function te(t,n){var e=null==t?0:t.length;return e?oe(t,n)/e:H}
  function ne (line 1) | function ne(t){return function(n){return null==n?i:n[t]}}
  function ee (line 1) | function ee(t){return function(n){return null==t?i:t[n]}}
  function re (line 1) | function re(t,n,e,r,o){return o(t,function(t,o,i){e=r?(r=!1,t):n(e,t,o,i...
  function oe (line 1) | function oe(t,n){for(var e,r=-1,o=t.length;++r<o;){var l=n(t[r]);l!==i&&...
  function ie (line 1) | function ie(t,n){for(var e=-1,r=Array(t);++e<t;)r[e]=n(e);return r}
  function le (line 1) | function le(t){return function(n){return t(n)}}
  function ae (line 1) | function ae(t,n){return Xn(n,function(n){return t[n]})}
  function se (line 1) | function se(t,n){return t.has(n)}
  function ue (line 1) | function ue(t,n){for(var e=-1,r=t.length;++e<r&&Qn(n,t[e],0)>-1;);return e}
  function ce (line 1) | function ce(t,n){for(var e=t.length;e--&&Qn(n,t[e],0)>-1;);return e}
  function fe (line 1) | function fe(t){return"\\"+Pn[t]}
  function de (line 1) | function de(t){return fn.test(t)}
  function he (line 1) | function he(t){var n=-1,e=Array(t.size);return t.forEach(function(t,r){e...
  function ge (line 1) | function ge(t,n){return function(e){return t(n(e))}}
  function ye (line 1) | function ye(t,n){for(var e=-1,r=t.length,o=0,i=[];++e<r;){var l=t[e];l!=...
  function be (line 1) | function be(t,n){return"__proto__"==n?i:t[n]}
  function Pe (line 1) | function Pe(t){var n=-1,e=Array(t.size);return t.forEach(function(t){e[+...
  function ke (line 1) | function ke(t){var n=-1,e=Array(t.size);return t.forEach(function(t){e[+...
  function me (line 1) | function me(t){return de(t)?function(t){for(var n=pn.lastIndex=0;pn.test...
  function je (line 1) | function je(t){return de(t)?function(t){return t.match(pn)||[]}(t):funct...
  function or (line 1) | function or(t){if(Aa(t)&&!na(t)&&!(t instanceof sr)){if(t instanceof ar)...
  function t (line 1) | function t(){}
  function lr (line 1) | function lr(){}
  function ar (line 1) | function ar(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!...
  function sr (line 1) | function sr(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,thi...
  function ur (line 1) | function ur(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){va...
  function cr (line 1) | function cr(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){va...
  function pr (line 1) | function pr(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){va...
  function Ar (line 1) | function Ar(t){var n=-1,e=null==t?0:t.length;for(this.__data__=new pr;++...
  function fr (line 1) | function fr(t){var n=this.__data__=new cr(t);this.size=n.size}
  function dr (line 1) | function dr(t,n){var e=na(t),r=!e&&ta(t),o=!e&&!r&&ia(t),i=!e&&!r&&!o&&k...
  function hr (line 1) | function hr(t){var n=t.length;return n?t[uo(0,n-1)]:i}
  function gr (line 1) | function gr(t,n,e){(e===i||Ql(t[n],e))&&(e!==i||n in t)||mr(t,n,e)}
  function yr (line 1) | function yr(t,n,e){var r=t[n];nn.call(t,n)&&Ql(r,e)&&(e!==i||n in t)||mr...
  function br (line 1) | function br(t,n){for(var e=t.length;e--;)if(Ql(t[e][0],n))return e;retur...
  function Pr (line 1) | function Pr(t,n,e,r){return Vr(t,function(t,o,i){n(r,t,e(t),i)}),r}
  function kr (line 1) | function kr(t,n){return t&&Xo(n,Ga(n),t)}
  function mr (line 1) | function mr(t,n,e){"__proto__"==n&&Se?Se(t,n,{configurable:!0,enumerable...
  function jr (line 1) | function jr(t,n){for(var e=-1,o=n.length,l=r(o),a=null==t;++e<o;)l[e]=a?...
  function xr (line 1) | function xr(t,n,e){return t==t&&(e!==i&&(t=t<=e?t:e),n!==i&&(t=t>=n?t:n)...
  function vr (line 1) | function vr(t,n,e,r,o,l){var a,s=n&u,A=n&c,f=n&p;if(e&&(a=o?e(t,r,o,l):e...
  function Sr (line 1) | function Sr(t,n,e){var r=e.length;if(null==t)return!r;for(t=Ft(t);r--;){...
  function Or (line 1) | function Or(t,n,e){if("function"!=typeof t)throw new Et(a);return Gi(fun...
  function qr (line 1) | function qr(t,n,e,r){var o=-1,i=Jn,a=!0,s=t.length,u=[],c=n.length;if(!s...
  function Tr (line 1) | function Tr(t,n){var e=!0;return Vr(t,function(t,r,o){return e=!!n(t,r,o...
  function Wr (line 1) | function Wr(t,n,e){for(var r=-1,o=t.length;++r<o;){var l=t[r],a=n(l);if(...
  function Ur (line 1) | function Ur(t,n){var e=[];return Vr(t,function(t,r,o){n(t,r,o)&&e.push(t...
  function Mr (line 1) | function Mr(t,n,e,r,o){var i=-1,l=t.length;for(e||(e=Ti),o||(o=[]);++i<l...
  function Nr (line 1) | function Nr(t,n){return t&&Rr(t,n,Ga)}
  function Ir (line 1) | function Ir(t,n){return t&&wr(t,n,Ga)}
  function Kr (line 1) | function Kr(t,n){return Cn(n,function(n){return sa(t[n])})}
  function zr (line 1) | function zr(t,n){for(var e=0,r=(n=Uo(n,t)).length;null!=t&&e<r;)t=t[Yi(n...
  function Cr (line 1) | function Cr(t,n,e){var r=n(t);return na(t)?r:Zn(r,e(t))}
  function Jr (line 1) | function Jr(t){return null==t?t===i?_:D:ee&&ee in Ft(t)?function(t){var ...
  function Gr (line 1) | function Gr(t,n){return t>n}
  function Xr (line 1) | function Xr(t,n){return null!=t&&nn.call(t,n)}
  function Zr (line 1) | function Zr(t,n){return null!=t&&n in Ft(t)}
  function Dr (line 1) | function Dr(t,n,e){for(var o=e?Gn:Jn,l=t[0].length,a=t.length,s=a,u=r(a)...
  function Lr (line 1) | function Lr(t,n,e){var r=null==(t=Ci(t,n=Uo(n,t)))?t:t[Yi(al(n))];return...
  function Fr (line 1) | function Fr(t){return Aa(t)&&Jr(t)==R}
  function Yr (line 1) | function Yr(t,n,e,r,o){return t===n||(null==t||null==n||!Aa(t)&&!Aa(n)?t...
  function Br (line 1) | function Br(t,n,e,r){var o=e.length,l=o,a=!r;if(null==t)return!l;for(t=F...
  function Er (line 1) | function Er(t){return!(!pa(t)||rn&&rn in t)&&(sa(t)?sn:Kt).test(Bi(t))}
  function Qr (line 1) | function Qr(t){return"function"==typeof t?t:null==t?ds:"object"==typeof ...
  function _r (line 1) | function _r(t){if(!Ni(t))return we(t);var n=[];for(var e in Ft(t))nn.cal...
  function $r (line 1) | function $r(t,n){return t<n}
  function to (line 1) | function to(t,n){var e=-1,o=ra(t)?r(t.length):[];return Vr(t,function(t,...
  function no (line 1) | function no(t){var n=xi(t);return 1==n.length&&n[0][2]?Ki(n[0][0],n[0][1...
  function eo (line 1) | function eo(t,n){return Mi(t)&&Ii(n)?Ki(Yi(t),n):function(e){var r=Ia(e,...
  function ro (line 1) | function ro(t,n,e,r,o){t!==n&&Rr(n,function(l,a){if(pa(l))o||(o=new fr),...
  function oo (line 1) | function oo(t,n){var e=t.length;if(e)return Wi(n+=n<0?e:0,e)?t[n]:i}
  function io (line 1) | function io(t,n,e){var r=-1;return n=Xn(n.length?n:[ds],le(mi())),functi...
  function lo (line 1) | function lo(t,n,e){for(var r=-1,o=n.length,i={};++r<o;){var l=n[r],a=zr(...
  function ao (line 1) | function ao(t,n,e,r){var o=r?_n:Qn,i=-1,l=n.length,a=t;for(t===n&&(n=Go(...
  function so (line 1) | function so(t,n){for(var e=t?n.length:0,r=e-1;e--;){var o=n[e];if(e==r||...
  function uo (line 1) | function uo(t,n){return t+Te(Ce()*(n-t+1))}
  function co (line 1) | function co(t,n){var e="";if(!t||n<1||n>q)return e;do{n%2&&(e+=t),(n=Te(...
  function po (line 1) | function po(t,n){return Xi(zi(t,n,ds),t+"")}
  function Ao (line 1) | function Ao(t,n,e,r){if(!pa(t))return t;for(var o=-1,l=(n=Uo(n,t)).lengt...
  function go (line 1) | function go(t,n,e){var o=-1,i=t.length;n<0&&(n=-n>i?0:i+n),(e=e>i?i:e)<0...
  function yo (line 1) | function yo(t,n){var e;return Vr(t,function(t,r,o){return!(e=n(t,r,o))})...
  function bo (line 1) | function bo(t,n,e){var r=0,o=null==t?r:t.length;if("number"==typeof n&&n...
  function Po (line 1) | function Po(t,n,e,r){n=e(n);for(var o=0,l=null==t?0:t.length,a=n!=n,s=nu...
  function ko (line 1) | function ko(t,n){for(var e=-1,r=t.length,o=0,i=[];++e<r;){var l=t[e],a=n...
  function mo (line 1) | function mo(t){return"number"==typeof t?t:Pa(t)?H:+t}
  function jo (line 1) | function jo(t){if("string"==typeof t)return t;if(na(t))return Xn(t,jo)+"...
  function xo (line 1) | function xo(t,n,e){var r=-1,o=Jn,i=t.length,a=!0,s=[],u=s;if(e)a=!1,o=Gn...
  function vo (line 1) | function vo(t,n){return null==(t=Ci(t,n=Uo(n,t)))||delete t[Yi(al(n))]}
  function So (line 1) | function So(t,n,e,r){return Ao(t,n,e(zr(t,n)),r)}
  function Oo (line 1) | function Oo(t,n,e,r){for(var o=t.length,i=r?o:-1;(r?i--:++i<o)&&n(t[i],i...
  function qo (line 1) | function qo(t,n){var e=t;return e instanceof sr&&(e=e.value()),Dn(n,func...
  function Vo (line 1) | function Vo(t,n,e){var o=t.length;if(o<2)return o?xo(t[0]):[];for(var i=...
  function Ho (line 1) | function Ho(t,n,e){for(var r=-1,o=t.length,l=n.length,a={};++r<o;)e(a,t[...
  function To (line 1) | function To(t){return oa(t)?t:[]}
  function Wo (line 1) | function Wo(t){return"function"==typeof t?t:ds}
  function Uo (line 1) | function Uo(t,n){return na(t)?t:Mi(t,n)?[t]:Fi(Ha(t))}
  function Ro (line 1) | function Ro(t,n,e){var r=t.length;return e=e===i?r:e,!n&&e>=r?t:go(t,n,e)}
  function No (line 1) | function No(t,n){if(n)return t.slice();var e=t.length,r=jn?jn(e):new t.c...
  function Io (line 1) | function Io(t){var n=new t.constructor(t.byteLength);return new Pn(n).se...
  function Ko (line 1) | function Ko(t,n){var e=n?Io(t.buffer):t.buffer;return new t.constructor(...
  function zo (line 1) | function zo(t,n){if(t!==n){var e=t!==i,r=null===t,o=t==t,l=Pa(t),a=n!==i...
  function Co (line 1) | function Co(t,n,e,o){for(var i=-1,l=t.length,a=e.length,s=-1,u=n.length,...
  function Jo (line 1) | function Jo(t,n,e,o){for(var i=-1,l=t.length,a=-1,s=e.length,u=-1,c=n.le...
  function Go (line 1) | function Go(t,n){var e=-1,o=t.length;for(n||(n=r(o));++e<o;)n[e]=t[e];re...
  function Xo (line 1) | function Xo(t,n,e,r){var o=!e;e||(e={});for(var l=-1,a=n.length;++l<a;){...
  function Zo (line 1) | function Zo(t,n){return function(e,r){var o=na(e)?In:Pr,i=n?n():{};retur...
  function Do (line 1) | function Do(t){return po(function(n,e){var r=-1,o=e.length,l=o>1?e[o-1]:...
  function Lo (line 1) | function Lo(t,n){return function(e,r){if(null==e)return e;if(!ra(e))retu...
  function Fo (line 1) | function Fo(t){return function(n,e,r){for(var o=-1,i=Ft(n),l=r(n),a=l.le...
  function Yo (line 1) | function Yo(t){return function(n){var e=de(n=Ha(n))?je(n):i,r=e?e[0]:n.c...
  function Bo (line 1) | function Bo(t){return function(n){return Dn(ss(ts(n).replace(un,"")),t,"...
  function Eo (line 1) | function Eo(t){return function(){var n=arguments;switch(n.length){case 0...
  function Qo (line 1) | function Qo(t){return function(n,e,r){var o=Ft(n);if(!ra(n)){var l=mi(e,...
  function _o (line 1) | function _o(t){return hi(function(n){var e=n.length,r=e,o=ar.prototype.t...
  function $o (line 1) | function $o(t,n,e,o,l,a,s,u,c,p){var A=n&m,f=n&d,g=n&h,P=n&(y|b),k=n&x,j...
  function ti (line 1) | function ti(t,n){return function(e,r){return function(t,n,e,r){return Nr...
  function ni (line 1) | function ni(t,n){return function(e,r){var o;if(e===i&&r===i)return n;if(...
  function ei (line 1) | function ei(t){return hi(function(n){return n=Xn(n,le(mi())),po(function...
  function ri (line 1) | function ri(t,n){var e=(n=n===i?" ":jo(n)).length;if(e<2)return e?co(n,t...
  function oi (line 1) | function oi(t){return function(n,e,o){return o&&"number"!=typeof o&&Ui(n...
  function ii (line 1) | function ii(t){return function(n,e){return"string"==typeof n&&"string"==...
  function li (line 1) | function li(t,n,e,r,o,l,a,s,u,c){var p=n&y;n|=p?P:k,(n&=~(p?k:P))&g||(n&...
  function ai (line 1) | function ai(t){var n=Lt[t];return function(t,e){if(t=qa(t),e=null==e?0:I...
  function ui (line 1) | function ui(t){return function(n){var e=qi(n);return e==X?he(n):e==B?ke(...
  function ci (line 1) | function ci(t,n,e,o,l,u,c,p){var A=n&h;if(!A&&"function"!=typeof t)throw...
  function pi (line 1) | function pi(t,n,e,r){return t===i||Ql(t,_t[e])&&!nn.call(r,e)?n:t}
  function Ai (line 1) | function Ai(t,n,e,r,o,l){return pa(t)&&pa(n)&&(l.set(n,t),ro(t,n,i,Ai,l)...
  function fi (line 1) | function fi(t){return ha(t)?i:t}
  function di (line 1) | function di(t,n,e,r,o,l){var a=e&A,s=t.length,u=n.length;if(s!=u&&!(a&&u...
  function hi (line 1) | function hi(t){return Xi(zi(t,i,el),t+"")}
  function gi (line 1) | function gi(t){return Cr(t,Ga,Si)}
  function yi (line 1) | function yi(t){return Cr(t,Xa,Oi)}
  function Pi (line 1) | function Pi(t){for(var n=t.name+"",e=Be[n],r=nn.call(Be,n)?e.length:0;r-...
  function ki (line 1) | function ki(t){return(nn.call(or,"placeholder")?or:t).placeholder}
  function mi (line 1) | function mi(){var t=or.iteratee||hs;return t=t===hs?Qr:t,arguments.lengt...
  function ji (line 1) | function ji(t,n){var e,r,o=t.__data__;return("string"==(r=typeof(e=n))||...
  function xi (line 1) | function xi(t){for(var n=Ga(t),e=n.length;e--;){var r=n[e],o=t[r];n[e]=[...
  function vi (line 1) | function vi(t,n){var e=function(t,n){return null==t?i:t[n]}(t,n);return ...
  function Vi (line 1) | function Vi(t,n,e){for(var r=-1,o=(n=Uo(n,t)).length,i=!1;++r<o;){var l=...
  function Hi (line 1) | function Hi(t){return"function"!=typeof t.constructor||Ni(t)?{}:ir(xn(t))}
  function Ti (line 1) | function Ti(t){return na(t)||ta(t)||!!(Hn&&t&&t[Hn])}
  function Wi (line 1) | function Wi(t,n){var e=typeof t;return!!(n=null==n?q:n)&&("number"==e||"...
  function Ui (line 1) | function Ui(t,n,e){if(!pa(e))return!1;var r=typeof n;return!!("number"==...
  function Mi (line 1) | function Mi(t,n){if(na(t))return!1;var e=typeof t;return!("number"!=e&&"...
  function Ri (line 1) | function Ri(t){var n=Pi(t),e=or[n];if("function"!=typeof e||!(n in sr.pr...
  function Ni (line 1) | function Ni(t){var n=t&&t.constructor;return t===("function"==typeof n&&...
  function Ii (line 1) | function Ii(t){return t==t&&!pa(t)}
  function Ki (line 1) | function Ki(t,n){return function(e){return null!=e&&e[t]===n&&(n!==i||t ...
  function zi (line 1) | function zi(t,n,e){return n=Ne(n===i?t.length-1:n,0),function(){for(var ...
  function Ci (line 1) | function Ci(t,n){return n.length<2?t:zr(t,go(n,0,-1))}
  function Zi (line 1) | function Zi(t,n,e){var r=n+"";return Xi(t,function(t,n){var e=n.length;i...
  function Di (line 1) | function Di(t){var n=0,e=0;return function(){var r=Ke(),o=S-(r-e);if(e=r...
  function Li (line 1) | function Li(t,n){var e=-1,r=t.length,o=r-1;for(n=n===i?r:n;++e<n;){var l...
  function Yi (line 1) | function Yi(t){if("string"==typeof t||Pa(t))return t;var n=t+"";return"0...
  function Bi (line 1) | function Bi(t){if(null!=t){try{return tn.call(t)}catch(t){}try{return t+...
  function Ei (line 1) | function Ei(t){if(t instanceof sr)return t.clone();var n=new ar(t.__wrap...
  function tl (line 1) | function tl(t,n,e){var r=null==t?0:t.length;if(!r)return-1;var o=null==e...
  function nl (line 1) | function nl(t,n,e){var r=null==t?0:t.length;if(!r)return-1;var o=r-1;ret...
  function el (line 1) | function el(t){return null!=t&&t.length?Mr(t,1):[]}
  function rl (line 1) | function rl(t){return t&&t.length?t[0]:i}
  function al (line 1) | function al(t){var n=null==t?0:t.length;return n?t[n-1]:i}
  function ul (line 1) | function ul(t,n){return t&&t.length&&n&&n.length?ao(t,n):t}
  function pl (line 1) | function pl(t){return null==t?t:Je.call(t)}
  function hl (line 1) | function hl(t){if(!t||!t.length)return[];var n=0;return t=Cn(t,function(...
  function gl (line 1) | function gl(t,n){if(!t||!t.length)return[];var e=hl(t);return null==n?e:...
  function xl (line 1) | function xl(t){var n=or(t);return n.__chain__=!0,n}
  function vl (line 1) | function vl(t,n){return n(t)}
  function Hl (line 1) | function Hl(t,n){return(na(t)?Kn:Vr)(t,mi(n,3))}
  function Tl (line 1) | function Tl(t,n){return(na(t)?function(t,n){for(var e=null==t?0:t.length...
  function Rl (line 1) | function Rl(t,n){return(na(t)?Xn:to)(t,mi(n,3))}
  function Kl (line 1) | function Kl(t,n,e){return n=e?i:n,ci(t,m,i,i,i,i,n=t&&null==n?t.length:n)}
  function zl (line 1) | function zl(t,n){var e;if("function"!=typeof n)throw new Et(a);return t=...
  function Gl (line 1) | function Gl(t,n,e){var r,o,l,s,u,c,p=0,A=!1,f=!1,d=!0;if("function"!=typ...
  function Dl (line 1) | function Dl(t,n){if("function"!=typeof t||null!=n&&"function"!=typeof n)...
  function Ll (line 1) | function Ll(t){if("function"!=typeof t)throw new Et(a);return function()...
  function Ql (line 1) | function Ql(t,n){return t===n||t!=t&&n!=n}
  function ra (line 1) | function ra(t){return null!=t&&ca(t.length)&&!sa(t)}
  function oa (line 1) | function oa(t){return Aa(t)&&ra(t)}
  function aa (line 1) | function aa(t){if(!Aa(t))return!1;var n=Jr(t);return n==C||n==z||"string...
  function sa (line 1) | function sa(t){if(!pa(t))return!1;var n=Jr(t);return n==J||n==G||n==N||n...
  function ua (line 1) | function ua(t){return"number"==typeof t&&t==Sa(t)}
  function ca (line 1) | function ca(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=q}
  function pa (line 1) | function pa(t){var n=typeof t;return null!=t&&("object"==n||"function"==n)}
  function Aa (line 1) | function Aa(t){return null!=t&&"object"==typeof t}
  function da (line 1) | function da(t){return"number"==typeof t||Aa(t)&&Jr(t)==Z}
  function ha (line 1) | function ha(t){if(!Aa(t)||Jr(t)!=L)return!1;var n=xn(t);if(null===n)retu...
  function ba (line 1) | function ba(t){return"string"==typeof t||!na(t)&&Aa(t)&&Jr(t)==E}
  function Pa (line 1) | function Pa(t){return"symbol"==typeof t||Aa(t)&&Jr(t)==Q}
  function xa (line 1) | function xa(t){if(!t)return[];if(ra(t))return ba(t)?je(t):Go(t);if(Yn&&t...
  function va (line 1) | function va(t){return t?(t=qa(t))===O||t===-O?(t<0?-1:1)*V:t==t?t:0:0===...
  function Sa (line 1) | function Sa(t){var n=va(t),e=n%1;return n==n?e?n-e:n:0}
  function Oa (line 1) | function Oa(t){return t?xr(Sa(t),0,T):0}
  function qa (line 1) | function qa(t){if("number"==typeof t)return t;if(Pa(t))return H;if(pa(t)...
  function Va (line 1) | function Va(t){return Xo(t,Xa(t))}
  function Ha (line 1) | function Ha(t){return null==t?"":jo(t)}
  function Ia (line 1) | function Ia(t,n,e){var r=null==t?i:zr(t,n);return r===i?e:r}
  function Ka (line 1) | function Ka(t,n){return null!=t&&Vi(t,n,Zr)}
  function Ga (line 1) | function Ga(t){return ra(t)?dr(t):_r(t)}
  function Xa (line 1) | function Xa(t){return ra(t)?dr(t,!0):function(t){if(!pa(t))return functi...
  function Ya (line 1) | function Ya(t,n){if(null==t)return{};var e=Xn(yi(t),function(t){return[t...
  function Qa (line 1) | function Qa(t){return null==t?[]:ae(t,Ga(t))}
  function $a (line 1) | function $a(t){return as(Ha(t).toLowerCase())}
  function ts (line 1) | function ts(t){return(t=Ha(t))&&t.replace(Jt,pe).replace(cn,"")}
  function ss (line 1) | function ss(t,n,e){return t=Ha(t),(n=e?i:n)===i?function(t){return dn.te...
  function ps (line 1) | function ps(t){return function(){return t}}
  function ds (line 1) | function ds(t){return t}
  function hs (line 1) | function hs(t){return Qr("function"==typeof t?t:vr(t,u))}
  function bs (line 1) | function bs(t,n,e){var r=Ga(n),o=Kr(n,r);null!=e||pa(n)&&(o.length||!r.l...
  function Ps (line 1) | function Ps(){}
  function xs (line 1) | function xs(t){return Mi(t)?ne(Yi(t)):function(t){return function(n){ret...
  function Os (line 1) | function Os(){return[]}
  function qs (line 1) | function qs(){return!1}
  function r (line 1) | function r(t){for(var e in t)n.hasOwnProperty(e)||(n[e]=t[e])}
  function n (line 1) | function n(n,e,r){switch(t.call(this),this.syncErrorValue=null,this.sync...
  function n (line 1) | function n(n,e,r,i){var a;t.call(this),this._parentSubscriber=n;var s=th...
  function c (line 1) | function c(t){return t instanceof s||"syncErrorThrowable"in t&&t[a.a]}
  function n (line 1) | function n(n,e,r){t.call(this),this.parent=n,this.outerValue=e,this.oute...
  function t (line 1) | function t(t,n,e){void 0===e&&(e=Number.POSITIVE_INFINITY),this.project=...
  function n (line 1) | function n(n,e,r,o){void 0===o&&(o=Number.POSITIVE_INFINITY),t.call(this...
  function t (line 1) | function t(t){if(this.total=t,this.total<0)throw new i.a}
  function n (line 1) | function n(n,e){t.call(this,n),this.total=e,this.ring=new Array,this.cou...
  function n (line 1) | function n(n,e){t.call(this),this.value=n,this.scheduler=e,this._isScala...
  function e (line 1) | function e(){this.constructor=t}
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function l (line 1) | function l(t){o[t]&&(r[t]=function(n){return new Promise(function(e,r){i...
  function s (line 1) | function s(t,n){try{(e=o[t](n)).value instanceof a?Promise.resolve(e.val...
  function u (line 1) | function u(t){s("next",t)}
  function c (line 1) | function c(t){s("throw",t)}
  function p (line 1) | function p(t,n){t(n),i.shift(),i.length&&s(i[0][0],i[0][1])}
  function r (line 1) | function r(r,o){n[r]=t[r]?function(n){return(e=!e)?{value:a(t[r](n)),don...
  function r (line 1) | function r(e){n[e]=t[e]&&function(n){return new Promise(function(r,o){!f...
  function i (line 1) | function i(t){var n="function"==typeof Symbol&&t[Symbol.iterator],e=0;re...
  function l (line 1) | function l(t,n){var e="function"==typeof Symbol&&t[Symbol.iterator];if(!...
  function a (line 1) | function a(t){return this instanceof a?(this.v=t,this):new a(t)}
  function t (line 1) | function t(){}
  function n (line 1) | function n(n,e){t.call(this),this.array=n,this.scheduler=e,e||1!==n.leng...
  function n (line 1) | function n(n){t.call(this),this.errors=n;var e=Error.call(this,n?n.lengt...
  function t (line 1) | function t(t){this.closed=!1,this._parent=null,this._parents=null,this._...
  function p (line 1) | function p(t){return t.reduce(function(t,n){return t.concat(n instanceof...
  function i (line 1) | function i(){throw new Error("setTimeout has not been defined")}
  function l (line 1) | function l(){throw new Error("clearTimeout has not been defined")}
  function a (line 1) | function a(t){if(e===setTimeout)return setTimeout(t,0);if((e===i||!e)&&s...
  function A (line 1) | function A(){c&&s&&(c=!1,s.length?u=s.concat(u):p=-1,u.length&&f())}
  function f (line 1) | function f(){if(!c){var t=a(A);c=!0;for(var n=u.length;n;){for(s=u,u=[];...
  function d (line 1) | function d(t,n){this.fun=t,this.array=n}
  function h (line 1) | function h(){}
  function t (line 1) | function t(t){this._desc=t,this.ngMetadataName="InjectionToken"}
  function f (line 1) | function f(t,n,e,r){var o=d(n);function i(t){if(this instanceof i)return...
  function d (line 1) | function d(t){return function(){for(var n=[],e=0;e<arguments.length;e++)...
  function h (line 1) | function h(t,n,e){var r=d(n);function o(){for(var t=[],n=0;n<arguments.l...
  function o (line 1) | function o(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];i...
  function M (line 1) | function M(){if(!U){var t=T.Symbol;if(t&&t.iterator)U=t.iterator;else fo...
  function R (line 1) | function R(t){"undefined"==typeof Zone?W.then(function(){t&&t.apply(null...
  function w (line 1) | function w(t,n){return t===n||"number"==typeof t&&"number"==typeof n&&is...
  function N (line 1) | function N(t){if("string"==typeof t)return t;if(t instanceof Array)retur...
  function I (line 1) | function I(t){return t.__forward_ref__=I,t.toString=function(){return N(...
  function K (line 1) | function K(t){return"function"==typeof t&&t.hasOwnProperty("__forward_re...
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function t (line 1) | function t(t,n,e){void 0===n&&(n=E),void 0===e&&(e=null),this.parent=n,t...
  function tt (line 1) | function tt(t){return et("Cannot mix multi providers and regular provide...
  function nt (line 1) | function nt(t,n,e){void 0===e&&(e=null),t=t&&"\n"===t.charAt(0)&&t.charA...
  function et (line 1) | function et(t,n){return new Error(nt(t,n))}
  function lt (line 1) | function lt(t){return t[rt]}
  function at (line 1) | function at(t){return t[ot]}
  function st (line 1) | function st(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[...
  function t (line 1) | function t(){this._console=console}
  function ct (line 1) | function ct(t){return t.length>1?" ("+function(t){for(var n=[],e=0;e<t.l...
  function pt (line 1) | function pt(t,n,e,r){var o=[n],i=e(o),l=r?function(t,n){var e=i+" caused...
  function At (line 1) | function At(t,n){this.injectors.push(t),this.keys.push(n),this.message=t...
  function ft (line 1) | function ft(t,n){for(var e=[],r=0,o=n.length;r<o;r++){var i=n[r];e.push(...
  function t (line 1) | function t(t,n){if(this.token=t,this.id=n,!t)throw new Error("Token must...
  function t (line 1) | function t(){this._allKeys=new Map}
  function yt (line 1) | function yt(t){return"function"==typeof t}
  function t (line 1) | function t(t){this._reflect=t||T.Reflect}
  function jt (line 1) | function jt(t){return t?t.map(function(t){var n=t.type.annotationCls;ret...
  function xt (line 1) | function xt(t){var n=t.prototype?Object.getPrototypeOf(t.prototype):null...
  function t (line 1) | function t(t){this.reflectionCapabilities=t}
  function t (line 1) | function t(t,n,e){this.key=t,this.optional=n,this.visibility=e}
  function Ht (line 1) | function Ht(t){return new qt(dt.get(t.provide),[function(t){var n,e;if(t...
  function Tt (line 1) | function Tt(t){var n=vt.parameters(t);if(!n)return[];if(n.some(function(...
  function Wt (line 1) | function Wt(t,n,e){var r=null,o=!1;if(!Array.isArray(n))return Ut(n inst...
  function Ut (line 1) | function Ut(t,n,e){return new St(dt.get(t),n,e)}
  function t (line 1) | function t(){}
  function t (line 1) | function t(t,n){this._constructionCounter=0,this._providers=t,this.paren...
  function Nt (line 1) | function Nt(t){return!!t&&"function"==typeof t.then}
  function It (line 1) | function It(t){return!!t&&"function"==typeof t.subscribe}
  function t (line 1) | function t(t){var n=this;this.appInits=t,this.initialized=!1,this.done=!...
  function Jt (line 1) | function Jt(){return""+Gt()+Gt()+Gt()}
  function Gt (line 1) | function Gt(){return String.fromCharCode(97+Math.floor(25*Math.random()))}
  function t (line 1) | function t(){}
  function Ft (line 1) | function Ft(){throw new Error("Runtime compiler is not loaded")}
  function t (line 1) | function t(){}
  function Qt (line 1) | function Qt(t){var n=Error("No component factory found for "+N(t)+". Did...
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function t (line 1) | function t(t,n,e){this._parent=n,this._ngModule=e,this._factories=new Ma...
  function n (line 1) | function n(n,e){var r=t.call(this)||this;return r.factory=n,r.ngModule=e...
  function un (line 1) | function un(t,n){return null}
  function n (line 1) | function n(n){void 0===n&&(n=!1);var e=t.call(this)||this;return e.__isA...
  function t (line 1) | function t(t){var n,e=t.enableLongStackTrace,r=void 0!==e&&e;if(this.has...
  function dn (line 1) | function dn(){}
  function gn (line 1) | function gn(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)tr...
  function yn (line 1) | function yn(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit...
  function bn (line 1) | function bn(t){t._nesting--,gn(t)}
  function t (line 1) | function t(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,t...
  function t (line 1) | function t(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,...
  function t (line 1) | function t(){this._applications=new Map,vn.addToWindow(this)}
  function jn (line 1) | function jn(t){vn=t}
  function t (line 1) | function t(){}
  function Vn (line 1) | function Vn(){if(On)throw new Error("Cannot enable prod mode after platf...
  function Hn (line 1) | function Hn(){return On=!0,Sn}
  function Wn (line 1) | function Wn(t,n,e){void 0===e&&(e=[]);var r="Platform: "+n,o=new u(r);re...
  function Un (line 1) | function Un(){return xn&&!xn.destroyed?xn:null}
  function t (line 1) | function t(t){this._injector=t,this._modules=[],this._destroyListeners=[...
  function Rn (line 1) | function Rn(t,n){return Array.isArray(n)?n.reduce(Rn,t):Object(r.__assig...
  function t (line 1) | function t(t,n,e,r,a,s){var u=this;this._zone=t,this._console=n,this._in...
  function Nn (line 1) | function Nn(t,n){var e=t.indexOf(n);e>-1&&t.splice(e,1)}
  function t (line 1) | function t(){this.dirty=!0,this._results=[],this.changes=new An,this.len...
  function t (line 1) | function t(t,n){this._compiler=t,this._config=n||Dn}
  function Fn (line 1) | function Fn(t,n,e){if(!t)throw new Error("Cannot find '"+e+"' in '"+n+"'...
  function t (line 1) | function t(t,n,e){this._debugContext=e,this.nativeNode=t,n&&n instanceof...
  function n (line 1) | function n(n,e,r){var o=t.call(this,n,e,r)||this;return o.properties={},...
  function $n (line 1) | function $n(t,n,e){t.childNodes.forEach(function(t){t instanceof _n&&(n(...
  function te (line 1) | function te(t,n,e){t instanceof _n&&t.childNodes.forEach(function(t){n(t...
  function ee (line 1) | function ee(t){return ne.get(t)||null}
  function re (line 1) | function re(t){ne.set(t.nativeNode,t)}
  function oe (line 1) | function oe(t,n){var e=ae(t),r=ae(n);return e&&r?function(t,n,e){for(var...
  function t (line 1) | function t(t){this.wrapped=t}
  function t (line 1) | function t(t,n,e){this.previousValue=t,this.currentValue=n,this.firstCha...
  function ae (line 1) | function ae(t){return!!se(t)&&(Array.isArray(t)||!(t instanceof Map)&&M(...
  function se (line 1) | function se(t){return null!==t&&("function"==typeof t||"object"==typeof t)}
  function t (line 1) | function t(){}
  function t (line 1) | function t(t){this.length=0,this._linkedRecords=null,this._unlinkedRecor...
  function t (line 1) | function t(){this._head=null,this._tail=null}
  function t (line 1) | function t(){this.map=new Map}
  function he (line 1) | function he(t,n,e){var r=t.previousIndex;if(null===r)return r;var o=0;re...
  function t (line 1) | function t(){}
  function t (line 1) | function t(){this._records=new Map,this._mapHead=null,this._appendAfter=...
  function t (line 1) | function t(t){this.factories=t}
  function t (line 1) | function t(t){this.factories=t}
  function Oe (line 1) | function Oe(){return je}
  function qe (line 1) | function qe(){return xe}
  function Ve (line 1) | function Ve(t){return t||"en-US"}
  function Ue (line 1) | function Ue(t,n,e){var r=t.state,o=1792&r;return o===n?(t.state=-1793&r|...
  function Me (line 1) | function Me(t,n,e){return(1792&t.state)===n&&t.initIndex<=e&&(t.initInde...
  function Re (line 1) | function Re(t,n){return t.nodes[n]}
  function we (line 1) | function we(t,n){return t.nodes[n]}
  function Ne (line 1) | function Ne(t,n){return t.nodes[n]}
  function Ie (line 1) | function Ie(t,n){return t.nodes[n]}
  function Ke (line 1) | function Ke(t,n){return t.nodes[n]}
  function Ce (line 1) | function Ce(t,n,e,r){var o="ExpressionChangedAfterItHasBeenCheckedError:...
  function Je (line 1) | function Je(t,n){t[rt]=n,t[it]=n.logError.bind(n)}
  function Ge (line 1) | function Ge(t){return new Error("ViewDestroyedError: Attempt to use a de...
  function De (line 1) | function De(t){var n=Ze.get(t);return n||(n=N(t)+"_"+Ze.size,Ze.set(t,n)...
  function Le (line 1) | function Le(t,n,e,r){if(ie.isWrapped(r)){r=ie.unwrap(r);var o=t.def.node...
  function Be (line 1) | function Be(t){return{id:Fe,styles:t.styles,encapsulation:t.encapsulatio...
  function Qe (line 1) | function Qe(t,n,e,r){return!(!(2&t.state)&&w(t.oldValues[n.bindingIndex+...
  function _e (line 1) | function _e(t,n,e,r){return!!Qe(t,n,e,r)&&(t.oldValues[n.bindingIndex+e]...
  function $e (line 1) | function $e(t,n,e,r){var o=t.oldValues[n.bindingIndex+e];if(1&t.state||!...
  function tr (line 1) | function tr(t){for(var n=t;n;)2&n.def.flags&&(n.state|=8),n=n.viewContai...
  function nr (line 1) | function nr(t,n){for(var e=t;e&&e!==n;)e.state|=64,e=e.viewContainerPare...
  function er (line 1) | function er(t,n,e,r){try{return tr(33554432&t.def.nodes[n].flags?we(t,n)...
  function rr (line 1) | function rr(t){return t.parent?we(t.parent,t.parentNodeDef.nodeIndex):null}
  function or (line 1) | function or(t){return t.parent?t.parentNodeDef.parent:null}
  function ir (line 1) | function ir(t,n){switch(201347067&n.flags){case 1:return we(t,n.nodeInde...
  function lr (line 1) | function lr(t){return!!t.parent&&!!(32768&t.parentNodeDef.flags)}
  function ar (line 1) | function ar(t){return!(!t.parent||32768&t.parentNodeDef.flags)}
  function sr (line 1) | function sr(t){return 1<<t%32}
  function ur (line 1) | function ur(t){var n={},e=0,r={};return t&&t.forEach(function(t){var o=t...
  function cr (line 1) | function cr(t,n){return t.map(function(t){var e,r;return Array.isArray(t...
  function pr (line 1) | function pr(t,n,e){var r=e.renderParent;return r?0==(1&r.flags)||0==(335...
  function fr (line 1) | function fr(t){var n=Ar.get(t);return n||((n=t(function(){return Xe})).f...
  function dr (line 1) | function dr(t,n,e,r,o){3===n&&(e=t.renderer.parentNode(ir(t,t.def.lastRe...
  function hr (line 1) | function hr(t,n,e,r,o,i,l){for(var a=e;a<=r;a++){var s=t.def.nodes[a];11...
  function gr (line 1) | function gr(t,n,e,r,o,i){for(var l=t;l&&!lr(l);)l=l.parent;for(var a=l.p...
  function yr (line 1) | function yr(t,n,e,r,o,i){if(8&n.flags)gr(t,n.ngContent.index,e,r,o,i);el...
  function br (line 1) | function br(t,n,e,r,o,i){var l=t.renderer;switch(e){case 1:l.appendChild...
  function kr (line 1) | function kr(t){if(":"===t[0]){var n=t.match(Pr);return[n[1],n[2]]}return...
  function mr (line 1) | function mr(t){for(var n=0,e=0;e<t.length;e++)n|=t[e].flags;return n}
  function jr (line 1) | function jr(t,n,e,r,o,i,l,a,s,u,c,p,A,f,d,h,g,y,b,P){switch(t){case 1:re...
  function xr (line 1) | function xr(t){return null!=t?t.toString():""}
  function vr (line 1) | function vr(t,n,e,r,o,i){t|=1;var l=ur(n);return{nodeIndex:-1,parent:nul...
  function Sr (line 1) | function Sr(t,n,e,r,o,i,l,a,s,u,c,p){void 0===l&&(l=[]),u||(u=Xe);var A=...
  function Or (line 1) | function Or(t,n,e){var r,o=e.element,i=t.root.selectorOrNode,l=t.rendere...
  function qr (line 1) | function qr(t,n,e,r){for(var o=0;o<e.outputs.length;o++){var i=e.outputs...
  function Vr (line 1) | function Vr(t,n,e){return function(r){return er(t,n,e,r)}}
  function Hr (line 1) | function Hr(t,n,e,r){if(!_e(t,n,e,r))return!1;var o=n.bindings[e],i=we(t...
  function Mr (line 1) | function Mr(t,n,e,r){return e=K(e),{index:-1,deps:cr(r,N(n)),flags:t,tok...
  function Rr (line 1) | function Rr(t){for(var n={},e=0;e<t.length;e++){var r=t[e];r.index=e,n[D...
  function wr (line 1) | function wr(t,n,e){if(void 0===e&&(e=X.THROW_IF_NOT_FOUND),8&n.flags)ret...
  function Nr (line 1) | function Nr(t,n){var e;switch(201347067&n.flags){case 512:e=function(t,n...
  function Ir (line 1) | function Ir(t,n){var e=t.viewContainer._embeddedViews;if((null==n||n>=e....
  function Kr (line 1) | function Kr(t,n,e){var r=n?ir(n,n.def.lastRenderRootNode):t.renderElemen...
  function zr (line 1) | function zr(t){dr(t,3,null,null,void 0)}
  function Cr (line 1) | function Cr(t,n,e){n>=t.length?t.push(e):t.splice(n,0,e)}
  function Jr (line 1) | function Jr(t,n){n>=t.length-1?t.pop():t.splice(n,1)}
  function Xr (line 1) | function Xr(t,n,e,r,o,i){return new Zr(t,n,e,r,o,i)}
  function n (line 1) | function n(n,e,r,o,i,l){var a=t.call(this)||this;return a.selector=n,a.c...
  function n (line 1) | function n(n,e,r){var o=t.call(this)||this;return o._view=n,o._viewRef=e...
  function Lr (line 1) | function Lr(t,n,e){return new Fr(t,n,e)}
  function t (line 1) | function t(t,n,e){this._view=t,this._elDef=n,this._data=e,this._embedded...
  function Yr (line 1) | function Yr(t){return new Br(t)}
  function t (line 1) | function t(t){this._view=t,this._viewContainerRef=null,this._appRef=null}
  function Er (line 1) | function Er(t,n){return new Qr(t,n)}
  function n (line 1) | function n(n,e){var r=t.call(this)||this;return r._parentView=n,r._def=e,r}
  function _r (line 1) | function _r(t,n){return new $r(t,n)}
  function t (line 1) | function t(t,n){this.view=t,this.elDef=n}
  function to (line 1) | function to(t,n){var e=t.def.nodes[n];if(1&e.flags){var r=we(t,e.nodeInd...
  function no (line 1) | function no(t){return new eo(t.renderer)}
  function t (line 1) | function t(t){this.delegate=t}
  function ro (line 1) | function ro(t,n,e,r){return new oo(t,n,e,r)}
  function t (line 1) | function t(t,n,e,r){this._moduleType=t,this._parent=n,this._bootstrapCom...
  function Ao (line 1) | function Ao(t,n,e,r,o,i,l,a){var s=[];if(l)for(var u in l){var c=l[u];s[...
  function fo (line 1) | function fo(t,n,e){return go(-1,t|=16,null,0,n,n,e)}
  function ho (line 1) | function ho(t,n,e,r,o){return go(-1,t,n,0,e,r,o)}
  function go (line 1) | function go(t,n,e,r,o,i,l,a,s){var u=ur(e),c=u.matchedQueries,p=u.refere...
  function yo (line 1) | function yo(t,n){return mo(t,n)}
  function bo (line 1) | function bo(t,n){for(var e=t;e.parent&&!lr(e);)e=e.parent;return jo(e.pa...
  function Po (line 1) | function Po(t,n){var e=jo(t,n.parent,(32768&n.flags)>0,n.provider.value,...
  function ko (line 1) | function ko(t,n,e){return function(r){return er(t,n,e,r)}}
  function mo (line 1) | function mo(t,n){var e=(8192&n.flags)>0,r=n.provider;switch(201347067&n....
  function jo (line 1) | function jo(t,n,e,r,o){var i=o.length;switch(i){case 0:return new r;case...
  function vo (line 1) | function vo(t,n,e,r,o){if(void 0===o&&(o=X.THROW_IF_NOT_FOUND),8&r.flags...
  function So (line 1) | function So(t,n,e){var r;if(e)r=we(t,n.nodeIndex).componentView;else for...
  function Oo (line 1) | function Oo(t,n,e,r,o,i){if(32768&e.flags){var l=we(t,e.parent.nodeIndex...
  function qo (line 1) | function qo(t,n){if(t.def.nodeFlags&n)for(var e=t.def.nodes,r=0,o=0;o<e....
  function Vo (line 1) | function Vo(t,n,e,r){for(var o=n.nodeIndex+1;o<=n.nodeIndex+n.childCount...
  function Ho (line 1) | function Ho(t,n,e,r){var o=Ne(t,n);if(o){var i=o.instance;i&&(ze.setCurr...
  function To (line 1) | function To(t,n,e){var r=[];for(var o in e)r.push({propName:o,bindingTyp...
  function Wo (line 1) | function Wo(t){for(var n=t.def.nodeMatchedQueries;t.parent&&ar(t);){var ...
  function Uo (line 1) | function Uo(t,n){var e=Ke(t,n.nodeIndex);if(e.dirty){var r,o=void 0;if(6...
  function Mo (line 1) | function Mo(t,n,e,r,o){for(var i=n;i<=e;i++){var l=t.def.nodes[i],a=l.ma...
  function Ro (line 1) | function Ro(t,n,e){if(null!=e)switch(e){case 1:return we(t,n.nodeIndex)....
  function wo (line 1) | function wo(t,n){return{nodeIndex:-1,parent:null,renderParent:null,bindi...
  function No (line 1) | function No(t,n,e){var r=pr(t,n,e);r&&gr(t,e.ngContent.index,1,r,null,vo...
  function Io (line 1) | function Io(t,n){return Co(128,t,new Array(n+1))}
  function Ko (line 1) | function Ko(t,n){return Co(32,t,new Array(n))}
  function zo (line 1) | function zo(t,n){for(var e=Object.keys(n),r=e.length,o=new Array(r),i=0;...
  function Co (line 1) | function Co(t,n,e){for(var r=new Array(e.length),o=0;o<e.length;o++){var...
  function Jo (line 1) | function Jo(t,n,e){for(var r=new Array(e.length-1),o=1;o<e.length;o++)r[...
  function Go (line 1) | function Go(t,n,e){var r,o=t.renderer;r=o.createText(e.text.prefix);var ...
  function Xo (line 1) | function Xo(t,n){return(null!=t?t.toString():"")+n.suffix}
  function Zo (line 1) | function Zo(t,n,e,r){for(var o=0,i=0,l=0,a=0,s=0,u=null,c=null,p=!1,A=!1...
  function Do (line 1) | function Do(t){return 0!=(1&t.flags)&&null===t.element.name}
  function Lo (line 1) | function Lo(t,n,e){var r=n.element&&n.element.template;if(r){if(!r.lastR...
  function Fo (line 1) | function Fo(t,n,e,r){var o=Eo(t.root,t.renderer,t,n,e);return Qo(o,t.com...
  function Yo (line 1) | function Yo(t,n,e){var r=Eo(t,t.renderer,null,null,n);return Qo(r,e,e),_...
  function Bo (line 1) | function Bo(t,n,e,r){var o,i=n.element.componentRendererType;return o=i?...
  function Eo (line 1) | function Eo(t,n,e,r,o){var i=new Array(o.nodes.length),l=o.outputCount?n...
  function Qo (line 1) | function Qo(t,n,e){t.component=n,t.context=e}
  function _o (line 1) | function _o(t){var n;lr(t)&&(n=we(t.parent,t.parentNodeDef.parent.nodeIn...
  function $o (line 1) | function $o(t){ei(t),ze.updateDirectives(t,1),si(t,li.CheckNoChanges),ze...
  function ti (line 1) | function ti(t){1&t.state?(t.state&=-2,t.state|=2):t.state&=-3,Ue(t,0,256...
  function ni (line 1) | function ni(t,n,e,r,o,i,l,a,s,u,c,p,A){return 0===e?function(t,n,e,r,o,i...
  function ei (line 1) | function ei(t){var n=t.def;if(4&n.nodeFlags)for(var e=0;e<n.nodes.length...
  function ri (line 1) | function ri(t,n,e,r,o,i,l,a,s,u,c,p,A){return 0===e?function(t,n,e,r,o,i...
  function oi (line 1) | function oi(t,n){if(Ke(t,n.nodeIndex).dirty)throw Ce(ze.createDebugConte...
  function ii (line 1) | function ii(t){if(!(128&t.state)){if(si(t,li.Destroy),ai(t,li.Destroy),q...
  function ai (line 1) | function ai(t,n){var e=t.def;if(33554432&e.nodeFlags)for(var r=0;r<e.nod...
  function si (line 1) | function si(t,n){var e=t.def;if(16777216&e.nodeFlags)for(var r=0;r<e.nod...
  function ui (line 1) | function ui(t,n){var e=t.state;switch(n){case li.CheckNoChanges:0==(128&...
  function ci (line 1) | function ci(t,n){si(t,n),ai(t,n)}
  function pi (line 1) | function pi(t,n,e,r){if(t.def.nodeFlags&n&&t.def.nodeFlags&e)for(var o=t...
  function fi (line 1) | function fi(t,n,e,r,o,i){return Yo(hi(t,o,o.injector.get(Kn),n,e),r,i)}
  function di (line 1) | function di(t,n,e,r,o,i){var l=o.injector.get(Kn),a=hi(t,o,new Yi(l),n,e...
  function hi (line 1) | function hi(t,n,e,r,o){var i=n.injector.get(We),l=n.injector.get(ut);ret...
  function gi (line 1) | function gi(t,n,e,r){var o=vi(e);return Li(Mi.create,Fo,null,[t,n,o,r])}
  function yi (line 1) | function yi(t,n,e,r){return e=ki.get(n.element.componentProvider.provide...
  function bi (line 1) | function bi(t,n,e,r){return ro(t,n,e,function(t){var n=function(t){var n...
  function mi (line 1) | function mi(t){Pi.set(t.token,t)}
  function ji (line 1) | function ji(t,n){var e=fr(fr(n.viewDefFactory).nodes[0].element.componen...
  function xi (line 1) | function xi(){Pi.clear(),ki.clear()}
  function vi (line 1) | function vi(t){if(0===Pi.size)return t;var n=function(t){for(var n=[],e=...
  function Si (line 1) | function Si(t,n,e,r,o,i,l,a,s,u,c,p,A){var f=t.def.nodes[n];return ni(t,...
  function Oi (line 1) | function Oi(t,n,e,r,o,i,l,a,s,u,c,p,A){var f=t.def.nodes[n];return ri(t,...
  function qi (line 1) | function qi(t){return Li(Mi.detectChanges,ti,null,[t])}
  function Vi (line 1) | function Vi(t){return Li(Mi.checkNoChanges,$o,null,[t])}
  function Hi (line 1) | function Hi(t){return Li(Mi.destroy,ii,null,[t])}
  function Ri (line 1) | function Ri(t,n){Wi=t,Ui=n}
  function wi (line 1) | function wi(t,n,e,r){return Ri(t,n),Li(Mi.handleEvent,t.def.handleEvent,...
  function Ni (line 1) | function Ni(t,n){if(128&t.state)throw Ge(Mi[Ti]);return Ri(t,Gi(t,0)),t....
  function Ii (line 1) | function Ii(t,n){if(128&t.state)throw Ge(Mi[Ti]);return Ri(t,Xi(t,0)),t....
  function Ki (line 1) | function Ki(t,n,e,r){if(ni.apply(void 0,[t,n,e].concat(r))){var o=1===e?...
  function zi (line 1) | function zi(t,n,e,r){ri.apply(void 0,[t,n,e].concat(r))}
  function Ji (line 1) | function Ji(t){try{return null!=t?t.toString().slice(0,30):t}catch(t){re...
  function Gi (line 1) | function Gi(t,n){for(var e=n;e<t.def.nodes.length;e++){var r=t.def.nodes...
  function Xi (line 1) | function Xi(t,n){for(var e=n;e<t.def.nodes.length;e++){var r=t.def.nodes...
  function t (line 1) | function t(t,n){this.view=t,this.nodeIndex=n,null==n&&(this.nodeIndex=n=...
  function Di (line 1) | function Di(t,n,e){for(var r in n.references)e[r]=Ro(t,n,n.references[r])}
  function Li (line 1) | function Li(t,n,e,r){var o=Ti,i=Wi,l=Ui;try{Ti=t;var a=n.apply(e,r);retu...
  function Fi (line 1) | function Fi(){return Wi?new Zi(Wi,Ui):null}
  function t (line 1) | function t(t){this.delegate=t}
  function t (line 1) | function t(t){this.delegate=t,this.data=this.delegate.data}
  function Ei (line 1) | function Ei(t,n,e){return new _i(t,n,e)}
  function n (line 1) | function n(n,e,r){var o=t.call(this)||this;return o.moduleType=n,o._boot...
  function c (line 1) | function c(t,e){if(!(this instanceof c))return new c(t,e);e=e||{},t&&"ob...
  function o (line 1) | function o(){r.onlyBinaryUpgrades&&(e=e||!this.supportsBinary&&r.transpo...
  function l (line 1) | function l(){e||(e=!0,A(),n.close(),n=null)}
  function a (line 1) | function a(e){var o=new Error("probe error: "+e);o.transport=n.name,l(),...
  function s (line 1) | function s(){a("transport closed")}
  function u (line 1) | function u(){a("socket closed")}
  function p (line 1) | function p(t){n&&t.name!==n.name&&(i('"%s" works - aborting "%s"',t.name...
  function A (line 1) | function A(){n.removeListener("open",o),n.removeListener("error",a),n.re...
  function n (line 1) | function n(){t.onClose("forced close"),i("socket closing - telling trans...
  function e (line 1) | function e(){t.removeListener("upgrade",e),t.removeListener("upgradeErro...
  function r (line 1) | function r(){t.once("upgrade",e),t.once("upgradeError",e)}
  function s (line 1) | function s(){}
  function c (line 1) | function c(t){var e=""+t.type;if(n.BINARY_EVENT!==t.type&&n.BINARY_ACK!=...
  function p (line 1) | function p(){this.reconstructor=null}
  function A (line 1) | function A(t){this.reconPack=t,this.buffers=[]}
  function f (line 1) | function f(t){return{type:n.ERROR,data:"parser error: "+t}}
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function b (line 1) | function b(t,n){return t(n={exports:{}},n.exports),n.exports}
  function H (line 1) | function H(){try{return x.apply(this,arguments)}catch(t){return V.errorO...
  function r (line 1) | function r(){this.constructor=t}
  function n (line 1) | function n(n){t.call(this),this.errors=n;var e=Error.call(this,n?n.lengt...
  function M (line 1) | function M(t){return t.reduce(function(t,n){return t.concat(n instanceof...
  function t (line 1) | function t(t){this.closed=!1,this._parent=null,this._parents=null,this._...
  function r (line 1) | function r(){this.constructor=t}
  function n (line 1) | function n(e,r,o){switch(t.call(this),this.syncErrorValue=null,this.sync...
  function n (line 1) | function n(n,e,r,o){var i;t.call(this),this._parentSubscriber=n;var l=th...
  function e (line 1) | function e(t){var n,e=t.Symbol;return"function"==typeof e?e.observable?n...
  function Z (line 1) | function Z(t){return t?1===t.length?t[0]:function(n){return t.reduce(fun...
  function t (line 1) | function t(t){this._isScalar=!1,t&&(this._subscribe=t)}
  function r (line 1) | function r(){this.constructor=t}
  function n (line 1) | function n(n,e){t.call(this),this.value=n,this.scheduler=e,this._isScala...
  function r (line 1) | function r(){this.constructor=t}
  function n (line 1) | function n(n){t.call(this),this.scheduler=n}
  function n (line 1) | function n(n,e){t.call(this),this.array=n,this.scheduler=e,e||1!==n.leng...
  function r (line 1) | function r(){this.constructor=t}
  function et (line 1) | function et(t){var n=t.subscriber;n.closed||(n.next(t.value),n.complete())}
  function rt (line 1) | function rt(t){var n=t.subscriber;n.closed||n.error(t.err)}
  function n (line 1) | function n(n,e){t.call(this),this.promise=n,this.scheduler=e}
  function e (line 1) | function e(t){var n=t.Symbol;if("function"==typeof n)return n.iterator||...
  function r (line 1) | function r(){this.constructor=t}
  function n (line 1) | function n(n,e){if(t.call(this),this.scheduler=e,null==n)throw new Error...
  function t (line 1) | function t(t,n,e){void 0===n&&(n=0),void 0===e&&(e=t.length),this.str=t,...
  function t (line 1) | function t(t,n,e){void 0===n&&(n=0),void 0===e&&(e=function(n){var e,r,o...
  function r (line 1) | function r(){this.constructor=t}
  function n (line 1) | function n(n,e){t.call(this),this.arrayLike=n,this.scheduler=e,e||1!==n....
  function t (line 1) | function t(t,n,e){this.kind=t,this.value=n,this.error=e,this.hasValue="N...
  function r (line 1) | function r(){this.constructor=t}
  function t (line 1) | function t(t,n){void 0===n&&(n=0),this.scheduler=t,this.delay=n}
  function n (line 1) | function n(n,e,r){void 0===r&&(r=0),t.call(this,n),this.scheduler=e,this...
  function r (line 1) | function r(){this.constructor=t}
  function n (line 1) | function n(n,e){t.call(this,null),this.ish=n,this.scheduler=e}
  function r (line 1) | function r(){this.constructor=t}
  function n (line 1) | function n(n,e,r){t.call(this),this.parent=n,this.outerValue=e,this.oute...
  function r (line 1) | function r(){this.constructor=t}
  function n (line 1) | function n(){t.apply(this,arguments)}
  function r (line 1) | function r(){this.constructor=t}
  function t (line 1) | function t(t,n,e){void 0===e&&(e=Number.POSITIVE_INFINITY),this.project=...
  function n (line 1) | function n(n,e,r,o){void 0===o&&(o=Number.POSITIVE_INFINITY),t.call(this...
  function t (line 1) | function t(){}
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function zt (line 1) | function zt(t,n){if(t===n)return!0;if(null===t||null===n)return!1;if(t!=...
  function Ct (line 1) | function Ct(t){return"undefined"!=typeof t&&null!==t}
  function Jt (line 1) | function Jt(t){return t&&"object"==typeof t&&!Array.isArray(t)}
  function n (line 1) | function n(){var n=t.apply(this,arguments)||this;return n.templateMatche...
  function t (line 1) | function t(t,n,e,o,i,l,a){void 0===l&&(l=!0),void 0===a&&(a=!1),this.sto...
  function t (line 1) | function t(t,n,e){var r=this;this.translateService=t,this.element=n,this...
  function t (line 1) | function t(t,n){this.translate=t,this._ref=n,this.value=""}
  function t (line 1) | function t(){}
  function e (line 1) | function e(){}
  function i (line 1) | function i(t,e){if(i.count<=0)throw new Error("after called too many tim...
  function t (line 1) | function t(t){this._isScalar=!1,t&&(this._subscribe=t)}
  function s (line 1) | function s(){}
  function u (line 1) | function u(t){r.call(this,t),this.query=this.query||{},i||(n.___eio||(n....
  function u (line 1) | function u(){c(),n()}
  function c (line 1) | function c(){if(e.iframe)try{e.form.removeChild(e.iframe)}catch(t){e.onE...
  function i (line 1) | function i(t){this.path=t.path,this.hostname=t.hostname,this.port=t.port...
  function t (line 1) | function t(){}
  function n (line 1) | function n(t,n,e){this.message=t,this.parsedLine=n,this.snippet=e}
  function o (line 1) | function o(){this.constructor=t}
  function r (line 1) | function r(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}
  function A (line 1) | function A(t){t&&t.forceBase64&&(this.supportsBinary=!1),this.perMessage...
  function u (line 1) | function u(t){for(var n,e,r=[],o=0,i=t.length;o<i;)(n=t.charCodeAt(o++))...
  function c (line 1) | function c(t,n){if(t>=55296&&t<=57343){if(n)throw Error("Lone surrogate ...
  function p (line 1) | function p(t,n){return s(t>>n&63|128)}
  function A (line 1) | function A(t,n){if(0==(4294967168&t))return s(t);var e="";return 0==(429...
  function f (line 1) | function f(){if(a>=l)throw Error("Invalid byte index");var t=255&i[a];if...
  function d (line 1) | function d(t){var n,e;if(a>l)throw Error("Invalid byte index");if(a==l)r...
  function r (line 1) | function r(){}
  function o (line 1) | function o(t){return t?1===t.length?t[0]:function(n){return t.reduce(fun...
  function n (line 1) | function n(n,e){t.call(this),this.subject=n,this.subscriber=e,this.close...
  function n (line 1) | function n(n){t.call(this,n),this.destination=n}
  function n (line 1) | function n(){t.call(this),this.observers=[],this.closed=!1,this.isStoppe...
  function n (line 1) | function n(n,e){t.call(this),this.destination=n,this.source=e}
  function r (line 1) | function r(t){return{regex:t.regex||"([^/?#]+)",validate:t.validate||fun...
  function n (line 1) | function n(){}
  function v (line 1) | function v(t,n){return"__proto__"==n?void 0:t[n]}
  function t (line 1) | function t(){}
  function $ (line 1) | function $(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){var...
  function tt (line 1) | function tt(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){va...
  function nt (line 1) | function nt(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){va...
  function et (line 1) | function et(t){var n=this.__data__=new tt(t);this.size=n.size}
  function rt (line 1) | function rt(t,n,e){(void 0===e||gt(t[n],e))&&(void 0!==e||n in t)||lt(t,...
  function ot (line 1) | function ot(t,n,e){var r=t[n];M.call(t,n)&&gt(r,e)&&(void 0!==e||n in t)...
  function it (line 1) | function it(t,n){for(var e=t.length;e--;)if(gt(t[e][0],n))return e;retur...
  function lt (line 1) | function lt(t,n,e){"__proto__"==n&&L?L(t,n,{configurable:!0,enumerable:!...
  function st (line 1) | function st(t){return null==t?void 0===t?p:s:D&&D in Object(t)?function(...
  function ut (line 1) | function ut(t){return vt(t)&&st(t)==o}
  function ct (line 1) | function ct(t,n,e,r,o){t!==n&&at(n,function(i,l){if(xt(i))o||(o=new et),...
  function pt (line 1) | function pt(t,n){var e,r,o=t.__data__;return("string"==(r=typeof(e=n))||...
  function At (line 1) | function At(t,n){var e=function(t,n){return null==t?void 0:t[n]}(t,n);re...
  function ft (line 1) | function ft(t,n){var e=typeof t;return!!(n=null==n?r:n)&&("number"==e||"...
  function dt (line 1) | function dt(t){var n=t&&t.constructor;return t===("function"==typeof n&&...
  function gt (line 1) | function gt(t,n){return t===n||t!=t&&n!=n}
  function Pt (line 1) | function Pt(t){return null!=t&&jt(t.length)&&!mt(t)}
  function mt (line 1) | function mt(t){if(!xt(t))return!1;var n=st(t);return n==l||n==a||n==i||n...
  function jt (line 1) | function jt(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=r}
  function xt (line 1) | function xt(t){var n=typeof t;return null!=t&&("object"==n||"function"==n)}
  function vt (line 1) | function vt(t){return null!=t&&"object"==typeof t}
  function Ot (line 1) | function Ot(t){return Pt(t)?function(t,n){var e=bt(t),r=!e&&yt(t),o=!e&&...
  function Ht (line 1) | function Ht(t){return t}
  function o (line 1) | function o(t){var n,e;for(c=t.length;c--;)n="M"===t[c]||"L"===t[c],e=/[a...
  function i (line 1) | function i(t,n){for(;t.length<s;){t[0]=n[s-t.length];var e=t.slice(0,d);...
  function l (line 1) | function l(t,n){for(var e=(s-t.length)/d;0<e&&e--;)(u=t.slice().splice(t...
  function i (line 1) | function i(t){t.target=t.srcElement||o,r.call(n,t)}
  function o (line 1) | function o(t,e){n.removeEventListener?n.removeEventListener(t,e,!1):n.at...
  function i (line 1) | function i(){var r,i;n.nodeName&&(e?(r={})[e]=!0:r=s,t.objectEach(r,func...
  function n (line 1) | function n(){var n,e=t.defaultOptions.global,i=e.useUTC,s=i?"getUTC":"ge...
  function t (line 1) | function t(t){this[t]&&(this[t]=this[t].destroy())}
  function n (line 1) | function n(n){return n.id===t||n.options&&n.options.id===t}
  function n (line 1) | function n(t){return t=d[t]||0,Math.max(l||t,t)/2}
  function e (line 1) | function e(){c(["group","markerGroup"],function(n){o[n]&&(i.renderer.isV...
  function o (line 1) | function o(){l.applyOptions(t),null===l.y&&s&&(l.graphic=s.destroy()),d(...
  function r (line 1) | function r(){o.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,i.linkSeries(),...
  function e (line 1) | function e(t,n){return t.target-n.target}
  function n (line 1) | function n(){var n=[];r(t.yAxis||[],function(t){t.options.stackLabels&&!...
  function n (line 1) | function n(t){t.apply(this),this.drawBreaks(this.xAxis,["x"]),this.drawB...
  function n (line 1) | function n(t,n,e){this.init(t,n,e)}
  function n (line 1) | function n(t){this.init(t)}
  function n (line 1) | function n(t){this.init(t)}
  function n (line 1) | function n(){var t=e.value,n=(A.inputDateParser||Date.parse)(t),r=a.xAxi...
  function n (line 1) | function n(){r=t.xAxis[0].getExtremes(),y(r.min)&&l.render(r.min,r.max)}
  function s (line 1) | function s(){}
  function u (line 1) | function u(t){if(o.call(this,t),this.requestTimeout=t.requestTimeout,thi...
  function c (line 1) | function c(t){this.method=t.method||"GET",this.uri=t.uri,this.xd=!!t.xd,...
  function p (line 1) | function p(){for(var t in c.requests)c.requests.hasOwnProperty(t)&&c.req...
  function n (line 1) | function n(){var n=t.call(this,"argument out of range");this.name=n.name...
  function r (line 1) | function r(t){if(t)return function(t){for(var n in r.prototype)t[n]=r.pr...
  function e (line 1) | function e(){this.off(t,e),n.apply(this,arguments)}
  function f (line 1) | function f(t,n){return!!(n=null==n?o:n)&&("number"==typeof t||a.test(t))...
  function h (line 1) | function h(t){return null!=t&&function(t){return"number"==typeof t&&t>-1...
  function t (line 1) | function t(t){this.offset=null!=t?t:0,this.lines=[],this.currentLineNb=-...
  function n (line 1) | function n(){t.apply(this,arguments)}
  function r (line 1) | function r(t){var e;function r(){if(r.enabled){var t=r,o=+new Date;t.dif...
  function o (line 1) | function o(){var t=n.instances.indexOf(this);return-1!==t&&(n.instances....
  function u (line 1) | function u(t,n){for(var e=-1,r=n.length,o=t.length;++e<r;)t[o+e]=n[e];re...
  function g (line 1) | function g(t){return y(t)||function(t){return function(t){return functio...
  function r (line 1) | function r(){var t=document.querySelectorAll("input, textarea, select");...
  function o (line 1) | function o(t){var n=document.querySelectorAll("input, textarea");t.forEa...
  function t (line 1) | function t(t,n){this.document=t,this.translate=n,this.layoutDirectionEmi...
  function t (line 1) | function t(t,n,e){this.translate=t,this.globalization=n,this.document=e,...
  function t (line 1) | function t(n){var e=this;this._subject=new r.n,this._platformStrategy=n;...
  function O (line 1) | function O(t){return t.replace(/\/index.html$/,"")}
  function n (line 1) | function n(n,e){var r=t.call(this)||this;return r._platformLocation=n,r....
  function n (line 1) | function n(n,e){var r=t.call(this)||this;if(r._platformLocation=n,null==...
  function I (line 1) | function I(t,n){return G(Z(t)[10],n)}
  function K (line 1) | function K(t,n){return G(Z(t)[11],n)}
  function z (line 1) | function z(t,n){return G(Z(t)[12],n)}
  function C (line 1) | function C(t,n){var e=Z(t),r=e[13][n];if("undefined"==typeof r){if(n===N...
  function J (line 1) | function J(t){if(!t[18])throw new Error('Missing extra locale data for t...
  function G (line 1) | function G(t,n){for(var e=n;e>-1;e--)if("undefined"!=typeof t[e])return ...
  function X (line 1) | function X(t){var n=t.split(":");return{hours:+n[0],minutes:+n[1]}}
  function Z (line 1) | function Z(t){var n=t.toLowerCase().replace(/_/g,"-"),e=T[n];if(e)return...
  function n (line 1) | function n(n,e){var r=t.call(this)||this;return r.locale=n,r.deprecatedP...
  function Y (line 1) | function Y(t,n){n=encodeURIComponent(n);for(var e=0,r=t.split(";");e<r.l...
  function t (line 1) | function t(t,n,e,r){this._iterableDiffers=t,this._keyValueDiffers=n,this...
  function t (line 1) | function t(t,n,e,r){this.$implicit=t,this.ngForOf=n,this.index=e,this.co...
  function t (line 1) | function t(t,n,e){this._viewContainer=t,this._template=n,this._differs=e...
  function t (line 1) | function t(t,n){this._viewContainer=t,this._context=new tt,this._thenTem...
  function t (line 1) | function t(t,n){this._viewContainerRef=t,this._templateRef=n,this._creat...
  function t (line 1) | function t(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckI...
  function t (line 1) | function t(t,n,e){this.ngSwitch=e,e._addCase(),this._view=new nt(t,n)}
  function t (line 1) | function t(t,n,e){this._differs=t,this._ngEl=n,this._renderer=e}
  function t (line 1) | function t(t){this._viewContainerRef=t}
  function pt (line 1) | function pt(t,n){return n&&(t=t.replace(/\{([^}]+)}/g,function(t,e){retu...
  function At (line 1) | function At(t,n,e,r,o){void 0===e&&(e="-");var i="";(t<0||o&&t<=0)&&(o?t...
  function ft (line 1) | function ft(t,n,e,r,o){return void 0===e&&(e=0),void 0===r&&(r=!1),void ...
  function dt (line 1) | function dt(t,n,e,r){return void 0===e&&(e=M.Format),void 0===r&&(r=!1),...
  function ht (line 1) | function ht(t){return function(n,e,r){var o=-1*r,i=C(e,N.MinusSign),l=o>...
  function bt (line 1) | function bt(t,n){return void 0===n&&(n=!1),function(e,r){var o,i,l,a;if(...
  function kt (line 1) | function kt(t,n){t=t.replace(/:/g,"");var e=Date.parse("Jan 01, 1970 00:...
  function mt (line 1) | function mt(t,n){return Error("InvalidPipeArgument: '"+n+"' for pipe '"+...
  function t (line 1) | function t(t){this.locale=t}
  function vt (line 1) | function vt(t){return t instanceof Date&&!isNaN(t.valueOf())}
  function Ot (line 1) | function Ot(t){var n=parseInt(t);if(isNaN(n))throw new Error("Invalid in...
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function t (line 1) | function t(t){this._locale=t}
  function t (line 1) | function t(){}
  function t (line 1) | function t(){this.elementStyle={width:0,height:0,opacity:0}}
  function wt (line 1) | function wt(t){return r._33(0,[r._29(402653184,1,{tooltipBox:0}),(t()(),...
  function t (line 1) | function t(){}
  function zt (line 1) | function zt(t){return r._33(0,[(t()(),r._9(0,0,null,null,0,"div",[["clas...
  function t (line 1) | function t(){}
  function Gt (line 1) | function Gt(t){return r._33(0,[(t()(),r._9(0,0,null,null,3,"div",[["clas...
  function Zt (line 1) | function Zt(){return Xt}
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function n (line 1) | function n(){var n=t.call(this)||this;n._animationPrefix=null,n._transit...
  function t (line 1) | function t(){this.resourceLoaderType=null}
  function $t (line 1) | function $t(){return!!window.history.pushState}
  function n (line 1) | function n(n){var e=t.call(this)||this;return e._doc=n,e._init(),e}
  function t (line 1) | function t(t){this._doc=t,this._dom=Zt()}
  function t (line 1) | function t(){}
  function t (line 1) | function t(t){this._doc=t}
  function an (line 1) | function an(t,n){"undefined"!=typeof COMPILED&&COMPILED||((r._10.ng=r._1...
  function un (line 1) | function un(t){return Object(r.Y)(t)}
  function t (line 1) | function t(t,n){var e=this;this._zone=n,this._eventNameToPlugin=new Map,...
  function t (line 1) | function t(t){this._doc=t}
  function t (line 1) | function t(){this._stylesSet=new Set}
  function n (line 1) | function n(n){var e=t.call(this)||this;return e._doc=n,e._hostNodes=new ...
  function Pn (line 1) | function Pn(t,n,e){for(var r=0;r<n.length;r++){var o=n[r];Array.isArray(...
  function kn (line 1) | function kn(t){return function(n){!1===t(n)&&(n.preventDefault(),n.retur...
  function t (line 1) | function t(t,n){this.eventManager=t,this.sharedStylesHost=n,this.rendere...
  function t (line 1) | function t(t){this.eventManager=t,this.data=Object.create(null)}
  function vn (line 1) | function vn(t,n){if(t.charCodeAt(0)===xn)throw new Error("Found the synt...
  function n (line 1) | function n(n,e,r){var o=t.call(this,n)||this;o.component=r;var i=Pn(r.id...
  function n (line 1) | function n(n,e,r,o){var i=t.call(this,n)||this;i.sharedStylesHost=e,i.ho...
  function n (line 1) | function n(n,e){var r=t.call(this,n)||this;return r.ngZone=e,r.patchEven...
  function t (line 1) | function t(){this.events=[],this.overrides={}}
  function n (line 1) | function n(n,e){var r=t.call(this,n)||this;return r._config=e,r}
  function n (line 1) | function n(n){return t.call(this,n)||this}
  function t (line 1) | function t(t,n){this.defaultDoc=t,this.DOM=n;var e=this.DOM.createHtmlDo...
  function Ln (line 1) | function Ln(t){return(t=String(t)).match(Zn)||t.match(Dn)?t:(Object(r.Z)...
  function Fn (line 1) | function Fn(t){for(var n={},e=0,r=t.split(",");e<r.length;e++)n[r[e]]=!0...
  function Yn (line 1) | function Yn(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];...
  function t (line 1) | function t(){this.sanitizedSomething=!1,this.buf=[],this.DOM=Zt()}
  function ae (line 1) | function ae(t){return t.replace(/&/g,"&amp;").replace(ie,function(t){ret...
  function n (line 1) | function n(n){var e=t.call(this)||this;return e._doc=n,e}
  function t (line 1) | function t(t){this.changingThisBreaksApplicationSecurity=t}
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function ke (line 1) | function ke(){return new r.m}
  function t (line 1) | function t(t){if(t)throw new Error("BrowserModule has already been loade...
  function t (line 1) | function t(t,n,e){this.sanitizer=t,this.componentFactoryResolver=n,this....
  function Se (line 1) | function Se(t){return r._33(0,[(t()(),r._9(0,16777216,[[1,3],["component...
  function Oe (line 1) | function Oe(t){return r._33(0,[(t()(),r._9(0,0,null,null,0,"div",[],[[8,...
  function qe (line 1) | function qe(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"div",[],null...
  function Ve (line 1) | function Ve(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"div",[["clas...
  function He (line 1) | function He(t){return r._33(0,[r._29(671088640,1,{componentBody:0}),(t()...
  function Ue (line 1) | function Ue(t,n){return void 0===n&&(n=null),{type:2,steps:t,options:n}}
  function Me (line 1) | function Me(t){return{type:6,styles:t,offset:null}}
  function Re (line 1) | function Re(t){Promise.resolve(null).then(t)}
  function t (line 1) | function t(){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[...
  function t (line 1) | function t(t){var n=this;this._onDoneFns=[],this._onStartFns=[],this._fi...
  function t (line 1) | function t(){}
  function t (line 1) | function t(){var t=this;this.addToast=new ze.a(function(n){return t._add...
  function t (line 1) | function t(t,n,e){this.ref=n,this.ngZone=e,this.timeoutIds=new Map,this....
  function Le (line 1) | function Le(t){return r._33(0,[(t()(),r._9(0,0,null,null,3,"div",[["clas...
  function Fe (line 1) | function Fe(t){return r._33(0,[(t()(),r._31(-1,null,["\n        "])),(t(...
  function n (line 1) | function n(n,e){t.call(this),this.sources=n,this.resultSelector=e}
  function n (line 1) | function n(n,e,r){t.call(this,n),this.sources=e,this.resultSelector=r,th...
  function n (line 1) | function n(n,e){t.call(this),this.promise=n,this.scheduler=e}
  function rr (line 1) | function rr(t){var n=t.subscriber;n.closed||(n.next(t.value),n.complete())}
  function or (line 1) | function or(t){var n=t.subscriber;n.closed||n.error(t.err)}
  function ar (line 1) | function ar(t,n){return Object(lr.a)(t,n)(this)}
  function t (line 1) | function t(){}
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function cr (line 1) | function cr(t){return null==t||0===t.length}
  function t (line 1) | function t(){}
  function fr (line 1) | function fr(t){return null!=t}
  function dr (line 1) | function dr(t){var n=Object(r._15)(t)?ir(t):t;if(!Object(r._14)(n))throw...
  function hr (line 1) | function hr(t){var n=t.reduce(function(t,n){return null!=n?Object(k.__as...
  function t (line 1) | function t(t,n){this._renderer=t,this._elementRef=n,this.onChange=functi...
  function t (line 1) | function t(t,n,e){var r;this._renderer=t,this._elementRef=n,this._compos...
  function kr (line 1) | function kr(t){return t.validate?function(n){return t.validate(n)}:t}
  function mr (line 1) | function mr(t){return t.validate?function(n){return t.validate(n)}:t}
  function t (line 1) | function t(t,n){this._renderer=t,this._elementRef=n,this.onChange=functi...
  function xr (line 1) | function xr(){throw new Error("unimplemented")}
  function n (line 1) | function n(){var n=null!==t&&t.apply(this,arguments)||this;return n._par...
  function t (line 1) | function t(){this._accessors=[]}
  function t (line 1) | function t(t,n,e,r){this._renderer=t,this._elementRef=n,this._registry=e...
  function t (line 1) | function t(t,n){this._renderer=t,this._elementRef=n,this.onChange=functi...
  function Vr (line 1) | function Vr(t,n){return null==t?""+n:(n&&"object"==typeof n&&(n="Object"...
  function t (line 1) | function t(t,n){this._renderer=t,this._elementRef=n,this._optionMap=new ...
  function t (line 1) | function t(t,n,e){this._element=t,this._renderer=n,this._select=e,this._...
  function Wr (line 1) | function Wr(t,n){return null==t?""+n:("string"==typeof n&&(n="'"+n+"'"),...
  function t (line 1) | function t(t,n){this._renderer=t,this._elementRef=n,this._optionMap=new ...
  function t (line 1) | function t(t,n,e){this._element=t,this._renderer=n,this._select=e,this._...
  function Rr (line 1) | function Rr(t,n){return n.path.concat([t])}
  function wr (line 1) | function wr(t,n){t||zr(n,"Cannot find control with"),n.valueAccessor||zr...
  function Nr (line 1) | function Nr(t,n){n.viewToModelUpdate(t._pendingValue),t._pendingDirty&&t...
  function Ir (line 1) | function Ir(t,n){null==t&&zr(n,"Cannot find control with"),t.validator=A...
  function Kr (line 1) | function Kr(t){return zr(t,"There is no FormControl instance attached to...
  function zr (line 1) | function zr(t,n){var e;throw e=t.path.length>1?"path: '"+t.path.join(" -...
  function Cr (line 1) | function Cr(t){return null!=t?Ar.compose(t.map(kr)):null}
  function Jr (line 1) | function Jr(t){return null!=t?Ar.composeAsync(t.map(mr)):null}
  function Gr (line 1) | function Gr(t,n){if(!t.hasOwnProperty("model"))return!1;var e=t.model;re...
  function Zr (line 1) | function Zr(t,n){t._syncPendingControls(),n.forEach(function(t){var n=t....
  function Dr (line 1) | function Dr(t,n){if(!n)return null;Array.isArray(n)||zr(t,"Value accesso...
  function Lr (line 1) | function Lr(t,n){var e=t.indexOf(n);e>-1&&t.splice(e,1)}
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function t (line 1) | function t(t){this._cd=t}
  function n (line 1) | function n(n){return t.call(this,n)||this}
  function n (line 1) | function n(n){return t.call(this,n)||this}
  function Qr (line 1) | function Qr(t){var n=$r(t)?t.validators:t;return Array.isArray(n)?Cr(n):...
  function _r (line 1) | function _r(t,n){var e=$r(n)?n.asyncValidators:t;return Array.isArray(e)...
  function $r (line 1) | function $r(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}
  function t (line 1) | function t(t,n){this.validator=t,this.asyncValidator=n,this._onCollectio...
  function n (line 1) | function n(n,e,r){void 0===n&&(n=null);var o=t.call(this,Qr(e),_r(r,e))|...
  function n (line 1) | function n(n,e,r){var o=t.call(this,Qr(e),_r(r,e))||this;return o.contro...
  function n (line 1) | function n(n,e,r){var o=t.call(this,Qr(e),_r(r,e))||this;return o.contro...
  function n (line 1) | function n(n,e){var o=t.call(this)||this;return o.submitted=!1,o._direct...
  function t (line 1) | function t(){}
  function n (line 1) | function n(n,e,r){var o=t.call(this)||this;return o._parent=n,o._validat...
  function n (line 1) | function n(n,e,o,i){var l=t.call(this)||this;return l.control=new no,l._...
  function t (line 1) | function t(){}
  function n (line 1) | function n(n,e){var o=t.call(this)||this;return o._validators=n,o._async...
  function n (line 1) | function n(n,e,r){var o=t.call(this)||this;return o._parent=n,o._validat...
  function n (line 1) | function n(n,e,r){var o=t.call(this)||this;return o._parent=n,o._validat...
  function bo (line 1) | function bo(t){return!(t instanceof go||t instanceof ho||t instanceof yo)}
  function n (line 1) | function n(n,e,o,i){var l=t.call(this)||this;return l._added=!1,l.update...
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function n (line 1) | function n(n){t.call(this),this._value=n}
  function To (line 1) | function To(t,n){return function(t,n){return Object(Ho.a)(t,n,1)}(t,n)(t...
  function Wo (line 1) | function Wo(t,n,e){return void 0===e&&(e=Number.POSITIVE_INFINITY),Objec...
  function n (line 1) | function n(n,e){if(t.call(this),this.scheduler=e,null==n)throw new Error...
  function t (line 1) | function t(t,n,e){void 0===n&&(n=0),void 0===e&&(e=t.length),this.str=t,...
  function t (line 1) | function t(t,n,e){void 0===n&&(n=0),void 0===e&&(e=function(n){var e,r,o...
  function Ko (line 1) | function Ko(t){var n=t[Ro.a];if(!n&&"string"==typeof t)return new No(t);...
  function n (line 1) | function n(n,e){t.call(this),this.arrayLike=n,this.scheduler=e,e||1!==n....
  function t (line 1) | function t(t,n,e){this.kind=t,this.value=n,this.error=e,this.hasValue="N...
  function t (line 1) | function t(t,n){void 0===n&&(n=0),this.scheduler=t,this.delay=n}
  function n (line 1) | function n(n,e,r){void 0===r&&(r=0),t.call(this,n),this.scheduler=e,this...
  function n (line 1) | function n(n,e){t.call(this,null),this.ish=n,this.scheduler=e}
  function t (line 1) | function t(t){this.selector=t}
  function n (line 1) | function n(n,e,r){t.call(this,n),this.selector=e,this.caught=r}
  function _o (line 1) | function _o(t){return function(t){return function(n){var e=new Eo(t),r=n...
  function ti (line 1) | function ti(){return Object($o.a)(1)(this)}
  function n (line 1) | function n(){var n=t.call(this,"no elements in sequence");this.name=n.na...
  function t (line 1) | function t(t,n,e,r){this.predicate=t,this.resultSelector=n,this.defaultV...
  function n (line 1) | function n(n,e,r,o,i){t.call(this,n),this.predicate=e,this.resultSelecto...
  function oi (line 1) | function oi(t,n,e){return function(t,n,e){return function(r){return r.li...
  function t (line 1) | function t(t,n,e){this.predicate=t,this.thisArg=n,this.source=e}
  function n (line 1) | function n(n,e,r,o){t.call(this,n),this.predicate=e,this.thisArg=r,this....
  function ai (line 1) | function ai(t,n){return function(t,n){return function(e){return e.lift(n...
  function t (line 1) | function t(t,n,e,r){this.predicate=t,this.resultSelector=n,this.defaultV...
  function n (line 1) | function n(n,e,r,o,i){t.call(this,n),this.predicate=e,this.resultSelecto...
  function ci (line 1) | function ci(t,n,e){return function(t,n,e){return function(r){return r.li...
  function pi (line 1) | function pi(t){return void 0===t&&(t=Number.POSITIVE_INFINITY),Object($o...
  function fi (line 1) | function fi(t,n){return function(e){return e.lift(new di(t,n))}}
  function t (line 1) | function t(t,n){this.predicate=t,this.thisArg=n}
  function n (line 1) | function n(n,e,r){t.call(this,n),this.predicate=e,this.thisArg=r,this.co...
  function gi (line 1) | function gi(t,n){return fi(t,n)(this)}
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function n (line 1) | function n(n,e,r){var o=t.call(this,n,e)||this;return o.urlAfterRedirect...
  function n (line 1) | function n(n,e,r){var o=t.call(this,n,e)||this;return o.reason=r,o}
  function n (line 1) | function n(n,e,r){var o=t.call(this,n,e)||this;return o.error=r,o}
  function n (line 1) | function n(n,e,r,o){var i=t.call(this,n,e)||this;return i.urlAfterRedire...
  function n (line 1) | function n(n,e,r,o){var i=t.call(this,n,e)||this;return i.urlAfterRedire...
  function n (line 1) | function n(n,e,r,o,i){var l=t.call(this,n,e)||this;return l.urlAfterRedi...
  function n (line 1) | function n(n,e,r,o){var i=t.call(this,n,e)||this;return i.urlAfterRedire...
  function n (line 1) | function n(n,e,r,o){var i=t.call(this,n,e)||this;return i.urlAfterRedire...
  function t (line 1) | function t(t){this.route=t}
  function t (line 1) | function t(t){this.route=t}
  function t (line 1) | function t(t){this.snapshot=t}
  function t (line 1) | function t(t){this.snapshot=t}
  function t (line 1) | function t(t){this.snapshot=t}
  function t (line 1) | function t(t){this.snapshot=t}
  function t (line 1) | function t(t){this.params=t||{}}
  function wi (line 1) | function wi(t){return new Ri(t)}
  function Ni (line 1) | function Ni(t,n,e){var r=e.path.split("/");if(r.length>t.length)return n...
  function Ki (line 1) | function Ki(t,n){void 0===n&&(n="");for(var e=0;e<t.length;e++){var r=t[...
  function zi (line 1) | function zi(t,n){if(!t)throw new Error("\n      Invalid configuration of...
  function Ci (line 1) | function Ci(t,n){return n?t||n.path?t&&!n.path?t+"/":!t&&n.path?n.path:t...
  function Ji (line 1) | function Ji(t){var n=t.children&&t.children.map(Ji);return n?Object(k.__...
  function Gi (line 1) | function Gi(t,n){var e,r=Object.keys(t),o=Object.keys(n);if(r.length!=o....
  function Xi (line 1) | function Xi(t){return Array.prototype.concat.apply([],t)}
  function Zi (line 1) | function Zi(t){return t.length>0?t[t.length-1]:null}
  function Di (line 1) | function Di(t,n){for(var e in t)t.hasOwnProperty(e)&&n(t[e],e)}
  function Li (line 1) | function Li(t){var n=pi.call(t);return ai.call(n,function(t){return!0===...
  function Fi (line 1) | function Fi(t){return Object(r._14)(t)?t:Object(r._15)(t)?ir(Promise.res...
  function Yi (line 1) | function Yi(t,n,e){return e?function(t,n){return Gi(t,n)}(t.queryParams,...
  function t (line 1) | function t(t,n,e){this.root=t,this.queryParams=n,this.fragment=e}
  function t (line 1) | function t(t,n){var e=this;this.segments=t,this.children=n,this.parent=n...
  function t (line 1) | function t(t,n){this.path=t,this.parameters=n}
  function _i (line 1) | function _i(t,n){return t.length===n.length&&t.every(function(t,e){retur...
  function $i (line 1) | function $i(t,n){var e=[];return Di(t.children,function(t,r){r===Mi&&(e=...
  function t (line 1) | function t(){}
  function rl (line 1) | function rl(t){return t.segments.map(function(t){return ul(t)}).join("/")}
  function ol (line 1) | function ol(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(...
  function il (line 1) | function il(t){return ol(t).replace(/%3B/gi,";")}
  function ll (line 1) | function ll(t){return ol(t).replace(/\(/g,"%28").replace(/\)/g,"%29").re...
  function al (line 1) | function al(t){return decodeURIComponent(t)}
  function sl (line 1) | function sl(t){return al(t.replace(/\+/g,"%20"))}
  function ul (line 1) | function ul(t){return""+ll(t.path)+(n=t.parameters,Object.keys(n).map(fu...
  function pl (line 1) | function pl(t){var n=t.match(cl);return n?n[0]:""}
  function t (line 1) | function t(t){this.url=t,this.remaining=t}
  function yl (line 1) | function yl(t){return new ze.a(function(n){return n.error(new hl(t))})}
  function bl (line 1) | function bl(t){return new ze.a(function(n){return n.error(new gl(t))})}
  function Pl (line 1) | function Pl(t){return new ze.a(function(n){return n.error(new Error("Onl...
  function t (line 1) | function t(t,n,e,o,i){this.configLoader=n,this.urlSerializer=e,this.urlT...
  function ml (line 1) | function ml(t,n,e){if(""===n.path)return"full"===n.pathMatch&&(t.hasChil...
  function jl (line 1) | function jl(t){if(1===t.numberOfChildren&&t.children[Mi]){var n=t.childr...
  function xl (line 1) | function xl(t,n,e){return(!(t.hasChildren()||n.length>0)||"full"!==e.pat...
  function vl (line 1) | function vl(t){return t.outlet||Mi}
  function t (line 1) | function t(t){this._root=t}
  function Ol (line 1) | function Ol(t,n){if(t===n.value)return n;for(var e=0,r=n.children;e<r.le...
  function ql (line 1) | function ql(t,n){if(t===n.value)return[n];for(var e=0,r=n.children;e<r.l...
  function t (line 1) | function t(t,n){this.value=t,this.children=n}
  function Hl (line 1) | function Hl(t){var n={};return t&&t.children.forEach(function(t){return ...
  function n (line 1) | function n(n,e){var r=t.call(this,n)||this;return r.snapshot=e,Nl(r,n),r}
  function Wl (line 1) | function Wl(t,n){var e=function(t,n){var e=new Rl([],{},{},"",{},Mi,n,nu...
  function t (line 1) | function t(t,n,e,r,o,i,l,a){this.url=t,this.params=n,this.queryParams=e,...
  function Ml (line 1) | function Ml(t,n){void 0===n&&(n="emptyOnly");var e=t.pathFromRoot,r=0;if...
  function t (line 1) | function t(t,n,e,r,o,i,l,a,s,u,c){this.url=t,this.params=n,this.queryPar...
  function n (line 1) | function n(n,e){var r=t.call(this,e)||this;return r.url=n,Nl(r,e),r}
  function Nl (line 1) | function Nl(t,n){n.value._routerState=t,n.children.forEach(function(n){r...
  function Il (line 1) | function Il(t){var n=t.children.length>0?" { "+t.children.map(Il).join("...
  function Kl (line 1) | function Kl(t){if(t.snapshot){var n=t.snapshot,e=t._futureSnapshot;t.sna...
  function zl (line 1) | function zl(t,n){var e,r;return Gi(t.params,n.params)&&_i(e=t.url,r=n.ur...
  function Cl (line 1) | function Cl(t){return"object"==typeof t&&null!=t&&!t.outlets&&!t.segment...
  function Jl (line 1) | function Jl(t,n,e,r,o){var i={};return r&&Di(r,function(t,n){i[n]=Array....
  function t (line 1) | function t(t,n,e){if(this.isAbsolute=t,this.numberOfDoubleDots=n,this.co...
  function Zl (line 1) | function Zl(t){return"object"==typeof t&&null!=t&&t.outlets?t.outlets[Mi...
  function Dl (line 1) | function Dl(t,n,e){if(t||(t=new Ei([],{})),0===t.segments.length&&t.hasC...
  function Ll (line 1) | function Ll(t,n,e){if(0===e.length)return new Ei(t.segments,{});var r=fu...
  function Fl (line 1) | function Fl(t,n,e){for(var r=t.segments.slice(0,n),o=0;o<e.length;){if("...
  function Yl (line 1) | function Yl(t){var n={};return Di(t,function(t,e){null!==t&&(n[e]=Fl(new...
  function Bl (line 1) | function Bl(t){var n={};return Di(t,function(t,e){return n[e]=""+t}),n}
  function El (line 1) | function El(t,n,e){return t==e.path&&Gi(n,e.parameters)}
  function t (line 1) | function t(t,n,e,r){this.future=t,this.curr=n,this.moduleInjector=e,this...
  function t (line 1) | function t(t,n,e,r,o){this.rootComponentType=t,this.config=n,this.urlTre...
  function ea (line 1) | function ea(t){for(var n=t;n._sourceSegment;)n=n._sourceSegment;return n}
  function ra (line 1) | function ra(t){for(var n=t,e=n._segmentIndexShift?n._segmentIndexShift:0...
  function oa (line 1) | function oa(t,n,e,r){if(e.length>0&&function(t,n,e){return r.some(functi...
  function ia (line 1) | function ia(t,n,e){return(!(t.hasChildren()||n.length>0)||"full"!==e.pat...
  function la (line 1) | function la(t){return t.outlet||Mi}
  function aa (line 1) | function aa(t){return t.data||{}}
  function sa (line 1) | function sa(t){return t.resolve||{}}
  function t (line 1) | function t(){}
  function t (line 1) | function t(t,n,e,r){this.loader=t,this.compiler=n,this.onLoadStartListen...
  function t (line 1) | function t(){}
  function ha (line 1) | function ha(t){throw t}
  function ga (line 1) | function ga(t){return Object(Vo.a)(null)}
  function t (line 1) | function t(t,n,e,o,i,l,a,s){var u=this;this.rootComponentType=t,this.url...
  function t (line 1) | function t(t,n,e,r){this.routeReuseStrategy=t,this.futureState=n,this.cu...
  function Pa (line 1) | function Pa(t){Kl(t.value),t.children.forEach(Pa)}
  function t (line 1) | function t(t,n,e){var r=this;this.router=t,this.route=n,this.locationStr...
  function ma (line 1) | function ma(t){return""===t||!!t}
  function t (line 1) | function t(t,n,e,r){var o=this;this.router=t,this.element=n,this.rendere...
  function t (line 1) | function t(){this.contexts=new Map}
  function t (line 1) | function t(t,n,e,o,i){this.parentContexts=t,this.location=n,this.resolve...
  function t (line 1) | function t(t,n,e){this.route=t,this.childContexts=n,this.parent=e}
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function t (line 1) | function t(t,n,e,r,o){this.router=t,this.injector=r,this.preloadingStrat...
  function Ra (line 1) | function Ra(){return new r.z("Router",ya)}
  function t (line 1) | function t(t,n){}
  function Na (line 1) | function Na(t,n,e){return void 0===e&&(e={}),e.useHash?new q(t,n):new V(...
  function Ia (line 1) | function Ia(t){if(t)throw new Error("RouterModule.forRoot() called twice...
  function Ka (line 1) | function Ka(t){return[{provide:r.a,multi:!0,useValue:t},{provide:pa,mult...
  function za (line 1) | function za(t,n,e,r,o,i,l,a,s,u,c){void 0===s&&(s={});var p=new ya(null,...
  function Ca (line 1) | function Ca(t){return t.routerState.root}
  function t (line 1) | function t(t){this.injector=t,this.initNavigation=!1,this.resultOfPreact...
  function Ga (line 1) | function Ga(t){return t.appInitializer.bind(t)}
  function Xa (line 1) | function Xa(t){return t.bootstrapListener.bind(t)}
  function t (line 1) | function t(t){var n=this;this.normalizedNames=new Map,this.lazyUpdate=nu...
  function t (line 1) | function t(){}
  function Ba (line 1) | function Ba(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace...
  function t (line 1) | function t(t){void 0===t&&(t={});var n,e,r,o=this;if(this.updates=null,t...
  function Qa (line 1) | function Qa(t){return"undefined"!=typeof ArrayBuffer&&t instanceof Array...
  function _a (line 1) | function _a(t){return"undefined"!=typeof Blob&&t instanceof Blob}
  function $a (line 1) | function $a(t){return"undefined"!=typeof FormData&&t instanceof FormData}
  function t (line 1) | function t(t,n,e,r){var o;if(this.url=n,this.body=null,this.reportProgre...
  function n (line 1) | function n(n){void 0===n&&(n={});var e=t.call(this,n)||this;return e.typ...
  function n (line 1) | function n(n){void 0===n&&(n={});var e=t.call(this,n)||this;return e.typ...
  function n (line 1) | function n(n){var e=t.call(this,n,0,"Unknown Error")||this;return e.name...
  function ls (line 1) | function ls(t,n){return{body:n,headers:t.headers,observe:t.observe,param...
  function t (line 1) | function t(t){this.handler=t}
  function t (line 1) | function t(t,n){this.next=t,this.interceptor=n}
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function t (line 1) | function t(t){this.xhrFactory=t}
  function t (line 1) | function t(t,n,e){this.doc=t,this.platform=n,this.cookieName=e,this.last...
  function t (line 1) | function t(t,n){this.tokenService=t,this.headerName=n}
  function t (line 1) | function t(t,n){this.backend=t,this.injector=n,this.chain=null}
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function Ss (line 1) | function Ss(t,n){if(!t||!t.error||!t.error.errors)return"";var e=t.error...
  function qs (line 1) | function qs(t){return t&&t.data&&t.data.items&&t.data.items[0]}
  function Vs (line 1) | function Vs(t,n,e){var r=Hs(t.url,t.method,n,e),o=this[n[r.url]].call(th...
  function Hs (line 1) | function Hs(t,n,e,r){void 0===n&&(n=null),t=t.replace(r,"");for(var o=0,...
  function Ws (line 1) | function Ws(t){return o.api+o.apiPrefix+"/"+t}
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function t (line 1) | function t(t){this.http=t}
  function t (line 1) | function t(){}
  function Ns (line 1) | function Ns(){for(var t=[],n=0;n<arguments.length;n++)t[n-0]=arguments[n...
  function zs (line 1) | function zs(t,n){return function(e){return e.lift(new Js(t,n))}}
  function t (line 1) | function t(t,n){this.compare=t,this.keySelector=n}
  function n (line 1) | function n(n,e,r){t.call(this,n),this.keySelector=r,this.hasKey=!1,"func...
  function n (line 1) | function n(n,e){t.call(this,n,e),this.scheduler=n,this.work=e,this.pendi...
  function n (line 1) | function n(n,e){t.call(this)}
  function n (line 1) | function n(n,e){t.call(this,n,e),this.scheduler=n,this.work=e}
  function n (line 1) | function n(){t.apply(this,arguments),this.actions=[],this.active=!1,this...
  function t (line 1) | function t(n,e){void 0===e&&(e=t.now),this.SchedulerAction=n,this.now=e}
  function n (line 1) | function n(){t.apply(this,arguments)}
  function t (line 1) | function t(t,n){this.observables=t,this.project=n}
  function n (line 1) | function n(n,e,r){t.call(this,n),this.observables=e,this.project=r,this....
  function e (line 1) | function e(){this.constructor=t}
  function n (line 1) | function n(){return t.call(this,{type:_s})||this}
  function Au (line 1) | function Au(t,n){void 0===n&&(n={});for(var e=Object.keys(t),r={},o=0;o<...
  function fu (line 1) | function fu(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];...
  function du (line 1) | function du(t,n){return Array.isArray(n)&&n.length>0?fu.apply(null,n.con...
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function n (line 1) | function n(n,e,r,o){var i=t.call(this,o(r,e))||this;return i.dispatcher=...
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function n (line 1) | function n(n,e,r,o){var i=t.call(this,o)||this,l=(function(t,n){return v...
  function mu (line 1) | function mu(t,n){void 0===t&&(t={state:void 0});var e=n[0];return{state:...
  function n (line 1) | function n(n,e,r){var o=t.call(this)||this;return o.actionsObserver=e,o....
  function t (line 1) | function t(t,n,e,r){this.features=t,this.featureReducers=n,this.reducerM...
  function Su (line 1) | function Su(t,n,e){return n instanceof r.q?t.get(n):n}
  function Ou (line 1) | function Ou(t,n,e){return n.map(function(n,e){return n instanceof r.q?t....
  function qu (line 1) | function qu(t){return"function"==typeof t?t():t}
  function t (line 1) | function t(t,n,e){this.requests=t,this.store=n,this.permissions=e,this.i...
  function t (line 1) | function t(t,n){this.user=t,this.router=n}
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function t (line 1) | function t(t,n,e){this.router=t,this.http=n,this.user=e,this.isRequestin...
  function Ru (line 1) | function Ru(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-progress...
  function wu (line 1) | function wu(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"app-error-me...
  function Nu (line 1) | function Nu(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[["cla...
  function Iu (line 1) | function Iu(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[["cla...
  function Ku (line 1) | function Ku(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"toaster-cont...
  function t (line 1) | function t(){}
  function t (line 1) | function t(t,n,e){this.toaster=t,this.store=n,this.translation=e}
  function t (line 1) | function t(t,n,e,r){this.http=t,this.router=n,this.notification=e,this.r...
  function Zu (line 1) | function Zu(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-progress...
  function Du (line 1) | function Du(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"app-error-me...
  function Lu (line 1) | function Lu(t){return r._33(0,[(t()(),r._9(0,0,null,null,13,"div",[["cla...
  function Fu (line 1) | function Fu(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[["cla...
  function Yu (line 1) | function Yu(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[["cla...
  function Bu (line 1) | function Bu(t){return r._33(0,[(t()(),r._9(0,0,null,null,54,"form",[["no...
  function Eu (line 1) | function Eu(t){return r._33(0,[(t()(),r._31(-1,null,["\n"])),(t()(),r._4...
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function t (line 1) | function t(t,n,e,r){this.http=t,this.user=n,this.router=e,this.notificat...
  function ec (line 1) | function ec(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-progress...
  function rc (line 1) | function rc(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"app-error-me...
  function oc (line 1) | function oc(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[["cla...
  function ic (line 1) | function ic(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[["cla...
  function lc (line 1) | function lc(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,ec)...
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function t (line 1) | function t(t,n){this.http=t,this.requests=n,this.forgetUrl="http://local...
  function Ac (line 1) | function Ac(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"app-error-me...
  function fc (line 1) | function fc(t){return r._33(0,[(t()(),r._9(0,0,null,null,13,"div",[["cla...
  function dc (line 1) | function dc(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[["cla...
  function hc (line 1) | function hc(t){return r._33(0,[(t()(),r._9(0,0,null,null,36,"form",[["no...
  function gc (line 1) | function gc(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,Ac)...
  function bc (line 1) | function bc(t,n,e){return void 0===n&&(n=0),void 0===e&&(e=1),t>e?e:t<n?...
  function t (line 1) | function t(){}
  function t (line 1) | function t(t){void 0===t&&(t=null),this.subject=null,this.searchSubject=...
  function t (line 1) | function t(t){this.util=t,this.storage=null,this.degree=0}
  function vc (line 1) | function vc(t){return r._33(0,[r._24(0,xt,[r.v]),r._24(0,Ht,[r.v]),r._29...
  function t (line 1) | function t(){this.photoSelector=new r.n,this.events=new r.n}
  function t (line 1) | function t(){this.storages=[],this.hash=null}
  function t (line 1) | function t(t,n){this.store=t,this.http=n}
  function t (line 1) | function t(t,n,e){this.us=t,this.requests=n,this.util=e,this.storage=nul...
  function Tc (line 1) | function Tc(t){return r._33(0,[(t()(),r._9(0,0,null,null,171,"div",[],nu...
  function Wc (line 1) | function Wc(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-image-ed...
  function Uc (line 1) | function Uc(t){return r._33(0,[(t()(),r._9(0,0,null,null,28,"div",[["cla...
  function Mc (line 1) | function Mc(t){return r._33(0,[r._24(0,xt,[r.v]),r._24(0,Ht,[r.v]),(t()(...
  function t (line 1) | function t(){}
  function Ic (line 1) | function Ic(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"div",[["clas...
  function t (line 1) | function t(t,n){this._ub=t,this.http=n,this.active=!1,this.storage=null,...
  function Jc (line 1) | function Jc(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"div",[["clas...
  function Gc (line 1) | function Gc(t){return r._33(0,[(t()(),r._9(0,0,null,null,24,"div",[["cla...
  function Xc (line 1) | function Xc(t){return r._33(0,[r._29(671088640,1,{fileuploader:0}),(t()(...
  function t (line 1) | function t(t){this.uploader=t,this.storage=null,this.InteractionType=Zc....
  function Yc (line 1) | function Yc(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"button",[["c...
  function Bc (line 1) | function Bc(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"app-spinner"...
  function Ec (line 1) | function Ec(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-upload",...
  function t (line 1) | function t(t,n,e){this.resolver=t,this.appRef=n,this.injector=e}
  function t (line 1) | function t(t,n,e){this.uploader=t,this.requests=n,this.panel=e,this.imag...
  function tp (line 1) | function tp(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"img",[["clas...
  function np (line 1) | function np(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"div",[],null...
  function ep (line 1) | function ep(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"div",[],null...
  function rp (line 1) | function rp(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"img",[["clas...
  function op (line 1) | function op(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,np)...
  function t (line 1) | function t(t){this.utils=t,this.storage=null,this.config=null,this.subje...
  function ap (line 1) | function ap(t){return r._33(0,[(t()(),r._9(0,0,null,null,36,"div",[["cla...
  function t (line 1) | function t(t){this.close=new r.n,this.dismissible=t.dismissible,this.typ...
  function Ap (line 1) | function Ap(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"button",[["a...
  function fp (line 1) | function fp(t){return r._33(2,[(t()(),r._31(-1,null,["\n    "])),(t()(),...
  function t (line 1) | function t(){}
  function gp (line 1) | function gp(t,n,e,r){var o=Array.isArray(e)?e:[e],i=o.findIndex(function...
  function t (line 1) | function t(t,n,e,r,o){this._type=t,this._injector=n,this._viewContainerR...
  function t (line 1) | function t(t,n){this._element=t,this._renderer=n,this.placement="top"}
  function jp (line 1) | function jp(t){return r._33(2,[(t()(),r._9(0,0,null,null,0,"div",[["clas...
  function vp (line 1) | function vp(t){return parseInt(""+t,10)}
  function Sp (line 1) | function Sp(t){return void 0!==t&&null!==t?""+t:""}
  function Op (line 1) | function Op(t){return!isNaN(vp(t))}
  function qp (line 1) | function qp(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}
  function Vp (line 1) | function Vp(t){return void 0!==t&&null!==t}
  function Hp (line 1) | function Hp(t){return Op(t)?("0"+t).slice(-2):""}
  function t (line 1) | function t(){this.highlightClass="ngb-highlight"}
  function Up (line 1) | function Up(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[],[[8...
  function Mp (line 1) | function Mp(t){return r._33(0,[(t()(),r._31(0,null,["",""]))],null,funct...
  function Rp (line 1) | function Rp(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,Up)...
  function wp (line 1) | function wp(t){return r._33(2,[(t()(),r._4(16777216,null,null,1,null,Rp)...
  function t (line 1) | function t(){this.activeIdx=0,this.focusFirst=!0,this.formatter=Sp,this....
  function Kp (line 1) | function Kp(t){return r._33(0,[(t()(),r._31(-1,null,["\n      "])),(t()(...
  function zp (line 1) | function zp(t){return r._33(0,[(t()(),r._4(0,null,null,0))],null,null)}
  function Cp (line 1) | function Cp(t){return r._33(0,[(t()(),r._31(-1,null,["\n      "])),(t()(...
  function Jp (line 1) | function Jp(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "])),(t()(),...
  function t (line 1) | function t(){}
  function Dp (line 1) | function Dp(t){return r._33(2,[(t()(),r._31(0,null,["",""]))],null,funct...
  function t (line 1) | function t(t,n,e){this.year=t,this.month=n,this.day=e}
  function r (line 1) | function r(){this.constructor=n}
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function t (line 1) | function t(t){this.i18n=t,this.select=new r.n}
  function eA (line 1) | function eA(t){return r._33(0,[(t()(),r._9(0,0,null,null,3,"option",[],n...
  function rA (line 1) | function rA(t){return r._33(0,[(t()(),r._9(0,0,null,null,3,"option",[],n...
  function oA (line 1) | function oA(t){return r._33(2,[(t()(),r._31(-1,null,["\n    "])),(t()(),...
  function aA (line 1) | function aA(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"ngb-datepick...
  function sA (line 1) | function sA(t){return r._33(0,[(t()(),r._9(0,0,null,null,0,"div",[["clas...
  function uA (line 1) | function uA(t){return r._33(0,[(t()(),r._9(0,0,null,null,0,"div",[["clas...
  function cA (line 1) | function cA(t){return r._33(0,[(t()(),r._31(-1,null,["\n      "])),(t()(...
  function pA (line 1) | function pA(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,cA)...
  function AA (line 1) | function AA(t){return r._33(2,[(t()(),r._31(-1,null,["\n  "])),(t()(),r....
  function t (line 1) | function t(t){this.i18n=t,this.select=new r.n}
  function hA (line 1) | function hA(t){return r._33(0,[(t()(),r._9(0,0,null,null,0,"div",[["clas...
  function gA (line 1) | function gA(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"div",[["clas...
  function yA (line 1) | function yA(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"div",[["clas...
  function bA (line 1) | function bA(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"div",[["clas...
  function PA (line 1) | function PA(t){return r._33(0,[(t()(),r._4(0,null,null,0))],null,null)}
  function kA (line 1) | function kA(t){return r._33(0,[(t()(),r._31(-1,null,["\n            "]))...
  function mA (line 1) | function mA(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"div",[["clas...
  function jA (line 1) | function jA(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"div",[["clas...
  function xA (line 1) | function xA(t){return r._33(0,[(t()(),r._31(-1,null,["\n      "])),(t()(...
  function vA (line 1) | function vA(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "])),(t()(),...
  function r (line 1) | function r(){this.constructor=n}
  function OA (line 1) | function OA(t){return new Fp(t.getFullYear(),t.getMonth()+1,t.getDate())}
  function qA (line 1) | function qA(t){var n=new Date(t.year,t.month-1,t.day,12);return isNaN(n....
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function TA (line 1) | function TA(t,n){return!function(t,n){return!t&&!n||!!t&&!!n&&t.equals(n...
  function WA (line 1) | function WA(t,n,e){return t&&n&&t.before(n)?Fp.from(n):t&&e&&t.after(e)?...
  function UA (line 1) | function UA(t,n){var e=n.minDate,r=n.maxDate,o=n.disabled,i=n.markDisabl...
  function t (line 1) | function t(t){this._calendar=t,this._model$=new Je.a,this._select$=new J...
  function t (line 1) | function t(t,n){var e=this;this._service=t,this._calendar=n,t.model$.sub...
  function r (line 1) | function r(){this.constructor=n}
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function t (line 1) | function t(t,n,e,o,i,l,a,s){var u=this;this._keyMapService=t,this._servi...
  function GA (line 1) | function GA(t){return r._33(0,[(t()(),r._31(-1,null,["\n      "])),(t()(...
  function XA (line 1) | function XA(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"ngb-datepick...
  function ZA (line 1) | function ZA(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"div",[["clas...
  function DA (line 1) | function DA(t){return r._33(0,[(t()(),r._31(-1,null,["\n        "])),(t(...
  function LA (line 1) | function LA(t){return r._33(2,[(t()(),r._31(-1,null,["\n    "])),(t()(),...
  function EA (line 1) | function EA(t){return r._33(0,[],null,null)}
  function t (line 1) | function t(t,n,e){this._elRef=n,this._renderer=e,this.backdrop=!0,this.k...
  function nf (line 1) | function nf(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "])),(t()(),...
  function t (line 1) | function t(t,n){this._element=t,this._renderer=n,this.placement="top"}
  function af (line 1) | function af(t){return r._33(2,[(t()(),r._31(-1,null,["\n    "])),(t()(),...
  function od (line 1) | function od(t){var n=t.startDate,e=t.seconds,r=t.excluded,o=t.precision,...
  function id (line 1) | function id(t){var n=t.periodStart,e=t.periodEnd;return t.events.filter(...
  function ld (line 1) | function ld(t){var n=t.date,e=t.weekendDays,r=void 0===e?nd:e,o=Ff()(new...
  function t (line 1) | function t(){}
  function xd (line 1) | function xd(t){return function(n){return n.lift(new vd(t))}}
  function t (line 1) | function t(t){this.notifier=t}
  function n (line 1) | function n(n,e){t.call(this,n),this.notifier=e,this.add(Object(Ee.a)(thi...
  function Vd (line 1) | function Vd(){return function(t){return t.lift(new Hd)}}
  function t (line 1) | function t(){}
  function n (line 1) | function n(n){t.call(this,n),this.hasPrev=!1}
  function t (line 1) | function t(t,n,e,o){this.element=t,this.renderer=n,this.draggableHelper=...
  function t (line 1) | function t(t,n,e){this.element=t,this.draggableHelper=n,this.zone=e,this...
  function t (line 1) | function t(){}
  function n (line 1) | function n(n,e){var r;void 0===n&&(n=0),void 0===e&&(e=Bd),t.call(this),...
  function t (line 1) | function t(t,n,e){this.durationSelector=t,this.leading=n,this.trailing=e}
  function n (line 1) | function n(n,e,r,o){t.call(this,n),this.destination=n,this.durationSelec...
  function th (line 1) | function th(t,n,e){return void 0===e&&(e=3),Math.abs(t-n)<e}
  function nh (line 1) | function nh(t,n,e,r){var o={top:t.top,bottom:t.bottom,left:t.left,right:...
  function eh (line 1) | function eh(t){var n=t.clientY,e=t.rect;return n>=e.top&&n<=e.bottom}
  function rh (line 1) | function rh(t){var n=t.clientX,e=t.rect;return n>=e.left&&n<=e.right}
  function oh (line 1) | function oh(t){var n=t.clientX,e=t.clientY,r=t.allowedEdges,o=t.cursorPr...
  function lh (line 1) | function lh(t,n){return t.left&&t.top?n.topLeft:t.right&&t.top?n.topRigh...
  function ah (line 1) | function ah(t){var n=t.initialRectangle,e=t.newRectangle,r={};return Obj...
  function t (line 1) | function t(t,n,e){this.renderer=t,this.elm=n,this.zone=e,this.resizeEdge...
  function r (line 1) | function r(t){return{clientX:t.clientX-e.clientX,clientY:t.clientY-e.cli...
  function l (line 1) | function l(t,n){return{x:Math.ceil(t.clientX/n.x),y:Math.ceil(t.clientY/...
  function t (line 1) | function t(t,n){this.pointerDown=new ze.a(function(e){var r,o;return n.r...
  function r (line 1) | function r(t,r){n(t,r),e=!1}
  function Ah (line 1) | function Ah(t,n){return t.left<=n.left&&n.left<=t.right&&t.left<=n.right...
  function t (line 1) | function t(t,n,e,r,o,i){this.elementRef=t,this.injector=n,this.renderer=...
  function t (line 1) | function t(){this.viewDateChange=new r.n}
  function t (line 1) | function t(){this.viewDateChange=new r.n}
  function t (line 1) | function t(){this.viewDateChange=new r.n}
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function t (line 1) | function t(){}
  function t (line 1) | function t(t,n){this.dateFormatter=t,this.locale=n}
  function t (line 1) | function t(){}
  function t (line 1) | function t(t){this.calendarEventTitle=t}
  function t (line 1) | function t(t,n){this.renderer=t,this.elm=n,this.click=new r.n}
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function t (line 1) | function t(t,n,e){this.cdr=t,this.utils=n,this.events=[],this.excludeDay...
  function t (line 1) | function t(t,n){this.dragContainerElement=t,this.startPosition=n.getBoun...
  function t (line 1) | function t(t,n){this.resizeContainerElement=t,this.minWidth=n}
  function t (line 1) | function t(t,n,e){this.cdr=t,this.utils=n,this.events=[],this.excludeDay...
  function t (line 1) | function t(t,n,e){this.cdr=t,this.utils=n,this.events=[],this.hourSegmen...
  function t (line 1) | function t(){}
  function Yh (line 1) | function Yh(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"mwl-calendar...
  function Bh (line 1) | function Bh(t){return r._33(0,[(t()(),r._9(0,0,null,null,12,"div",[],nul...
  function Eh (line 1) | function Eh(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "])),(t()(),...
  function _h (line 1) | function _h(t){return r._33(0,[(t()(),r._9(0,0,[["event",1]],null,12,"di...
  function $h (line 1) | function $h(t){return r._33(0,[(t()(),r._9(0,0,[["eventRowContainer",1]]...
  function tg (line 1) | function tg(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "])),(t()(),...
  function eg (line 1) | function eg(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"mwl-calendar...
  function rg (line 1) | function rg(t){return r._33(0,[(t()(),r._9(0,0,[["event",1]],null,12,"di...
  function og (line 1) | function og(t){return r._33(0,[(t()(),r._9(0,0,null,null,3,"mwl-calendar...
  function ig (line 1) | function ig(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"div",[["clas...
  function lg (line 1) | function lg(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "])),(t()(),...
  function sg (line 1) | function sg(t){return r._33(0,[(t()(),r._9(0,0,null,null,3,"a",[["class"...
  function ug (line 1) | function ug(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"span",[["cla...
  function cg (line 1) | function cg(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "])),(t()(),...
  function Ag (line 1) | function Ag(t){return r._33(0,[(t()(),r._31(-1,null,["\n      "])),(t()(...
  function fg (line 1) | function fg(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "]))],null,n...
  function dg (line 1) | function dg(t){return r._33(0,[r._24(0,Oh,[Sh]),(t()(),r._31(-1,null,["\...
  function gg (line 1) | function gg(t){return r._33(0,[(t()(),r._31(-1,null,["\n      "])),(t()(...
  function yg (line 1) | function yg(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "]))],null,n...
  function bg (line 1) | function bg(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "])),(t()(),...
  function mg (line 1) | function mg(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[["cla...
  function jg (line 1) | function jg(t){return r._33(0,[(t()(),r._9(0,16777216,null,null,8,"div",...
  function xg (line 1) | function xg(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"div",[["clas...
  function vg (line 1) | function vg(t){return r._33(0,[(t()(),r._31(-1,null,["\n      "])),(t()(...
  function Sg (line 1) | function Sg(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "]))],null,n...
  function Og (line 1) | function Og(t){return r._33(0,[r._24(0,vh,[xh,r.v]),r._24(0,Oh,[Sh]),(t(...
  function Vg (line 1) | function Vg(t){return r._33(0,[(t()(),r._9(0,0,null,null,16,"div",[["mwl...
  function Hg (line 1) | function Hg(t){return r._33(0,[(t()(),r._31(-1,null,["\n      "])),(t()(...
  function Tg (line 1) | function Tg(t){return r._33(0,[(t()(),r._31(-1,null,["\n      "]))],null...
  function Wg (line 1) | function Wg(t){return r._33(0,[(t()(),r._9(0,0,null,null,5,"div",[["clas...
  function Ug (line 1) | function Ug(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "])),(t()(),...
  function Rg (line 1) | function Rg(t){return r._33(0,[(t()(),r._9(0,0,null,null,3,"div",[["clas...
  function wg (line 1) | function wg(t){return r._33(0,[(t()(),r._31(-1,null,["\n      "])),(t()(...
  function Ng (line 1) | function Ng(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "]))],null,n...
  function Ig (line 1) | function Ig(t){return r._33(0,[r._24(0,vh,[xh,r.v]),(t()(),r._31(-1,null...
  function zg (line 1) | function zg(t){return r._33(0,[(t()(),r._9(0,0,null,null,13,"div",[["cla...
  function Cg (line 1) | function Cg(t){return r._33(0,[(t()(),r._31(-1,null,["\n      "])),(t()(...
  function Jg (line 1) | function Jg(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "]))],null,n...
  function Gg (line 1) | function Gg(t){return r._33(0,[r._24(0,vh,[xh,r.v]),(t()(),r._31(-1,null...
  function Zg (line 1) | function Zg(t){return r._33(0,[(t()(),r._31(-1,null,["\n      "])),(t()(...
  function Dg (line 1) | function Dg(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "]))],null,n...
  function Lg (line 1) | function Lg(t){return r._33(0,[r._24(0,Oh,[Sh]),(t()(),r._31(-1,null,["\...
  function Yg (line 1) | function Yg(t){return r._33(0,[(t()(),r._31(-1,null,["\n      "])),(t()(...
  function Bg (line 1) | function Bg(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "]))],null,n...
  function Eg (line 1) | function Eg(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "])),(t()(),...
  function _g (line 1) | function _g(t){return r._33(0,[(t()(),r._31(-1,null,["\n      "])),(t()(...
  function $g (line 1) | function $g(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "]))],null,n...
  function ty (line 1) | function ty(t){return r._33(0,[r._24(0,vh,[xh,r.v]),(t()(),r._31(-1,null...
  function ey (line 1) | function ey(t){return r._33(0,[(t()(),r._31(-1,null,["\n      "])),(t()(...
  function ry (line 1) | function ry(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "]))],null,n...
  function oy (line 1) | function oy(t){return r._33(0,[r._24(0,Oh,[Sh]),(t()(),r._31(-1,null,["\...
  function t (line 1) | function t(){}
  function ay (line 1) | function ay(t){return r._33(0,[(t()(),r._9(0,0,null,null,24,"div",[["cla...
  function t (line 1) | function t(t){this.user=t,this.display=""}
  function py (line 1) | function py(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"div",[["clas...
  function Ay (line 1) | function Ay(t){return r._33(0,[(t()(),r._9(0,0,null,null,15,"div",[["cla...
  function t (line 1) | function t(t,n,e,r){this.el=t,this.componentFactoryResolver=n,this.appRe...
  function t (line 1) | function t(t){this.store=t,this.notificationStatus=!1,this.searchStatus=!1}
  function gy (line 1) | function gy(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"button",[["c...
  function yy (line 1) | function yy(t){return r._33(0,[(t()(),r._9(0,0,null,null,8,"div",[["clas...
  function by (line 1) | function by(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"div",[["clas...
  function Py (line 1) | function Py(t){return r._33(0,[(t()(),r._9(0,0,null,null,17,"li",[],null...
  function ky (line 1) | function ky(t){return r._33(0,[(t()(),r._9(0,0,null,null,9,"div",[["clas...
  function my (line 1) | function my(t){return r._33(0,[r._24(0,xt,[r.v]),(t()(),r._31(-1,null,["...
  function t (line 1) | function t(t){var n=this;this.globalization=t,this.sidebarIsActive=!1,th...
  function t (line 1) | function t(t,n){this.sidebar=t,this.translate=n}
  function Sy (line 1) | function Sy(t){return r._33(0,[(t()(),r._9(0,0,null,null,44,"nav",[["cla...
  function t (line 1) | function t(t,n,e,r,o){var i=this;this.renderer=t,this.route=n,this.route...
  function Vy (line 1) | function Vy(t){return r._33(0,[(t()(),r._9(0,0,null,null,11,"li",[],null...
  function Hy (line 1) | function Hy(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,null,null,nul...
  function Ty (line 1) | function Ty(t){return r._33(0,[(t()(),r._4(0,null,null,0))],null,null)}
  function Wy (line 1) | function Wy(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"ngx-sidebar"...
  function Uy (line 1) | function Uy(t){return r._33(0,[(t()(),r._9(0,0,null,null,14,"li",[],null...
  function My (line 1) | function My(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,null,null,nul...
  function Ry (line 1) | function Ry(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,null,null,nul...
  function wy (line 1) | function wy(t){return r._33(0,[r._29(402653184,1,{target:0}),(t()(),r._9...
  function t (line 1) | function t(t){var n=this;this.sidebar=t,this.sideState=!0,this.keepOpen=...
  function zy (line 1) | function zy(t){return r._33(0,[(t()(),r._9(0,0,null,null,6,"div",[["clas...
  function t (line 1) | function t(t,n){this.translate=t,this.globalization=n,this.langs=[]}
  function Gy (line 1) | function Gy(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"option",[],[...
  function Xy (line 1) | function Xy(t){return r._33(0,[r._24(0,qt,[]),(t()(),r._9(1,0,null,null,...
  function t (line 1) | function t(t,n){var e=this;this.sidebar=t,this.user=n,this.isRequesting=...
  function Ly (line 1) | function Ly(t){return r._33(0,[(t()(),r._31(-1,null,["\n"])),(t()(),r._9...
  function t (line 1) | function t(t,n){var e=this;this.store=t,this.globalization=n,this.chartN...
  function Ey (line 1) | function Ey(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"div",[["clas...
  function Qy (line 1) | function Qy(t){return r._33(0,[(t()(),r._9(0,0,null,null,73,null,null,nu...
  function _y (line 1) | function _y(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,Qy)...
  function t (line 1) | function t(){this.size="medium",this.change=new r.n,this.color="rgb(100,...
  function eb (line 1) | function eb(t){return r._33(0,[(t()(),r._9(0,0,null,null,5,"span",[["cla...
  function rb (line 1) | function rb(t){return r._33(0,[(t()(),r._31(-1,null,["\n    "])),(t()(),...
  function t (line 1) | function t(t,n){this.delay=t,this.scheduler=n}
  function n (line 1) | function n(n,e,r){t.call(this,n),this.delay=e,this.scheduler=r,this.queu...
  function t (line 1) | function t(t){var n;this.translate=t,this.handleRoute=Vs.bind(this),this...
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function t (line 1) | function t(t,n,e){this.mocks=t,this.store=n,this.http=e}
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function t (line 1) | function t(t,n,e,r){var o=this;this.store=t,this.ref=n,this.requests=e,t...
  function t (line 1) | function t(t,n){this.store=t,this.realtime=n,this.chartName="live-tempre...
  function mb (line 1) | function mb(t){return r._33(0,[(t()(),r._9(0,0,null,null,71,null,null,nu...
  function jb (line 1) | function jb(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,mb)...
  function t (line 1) | function t(t){this.store=t,this.chartName="live-tempreture",this.data={}...
  function Sb (line 1) | function Sb(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,null,null,nul...
  function Ob (line 1) | function Ob(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,null,null,nul...
  function qb (line 1) | function qb(t){return r._33(0,[(t()(),r._9(0,0,null,null,61,null,null,nu...
  function Vb (line 1) | function Vb(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,qb)...
  function t (line 1) | function t(){this._val=50}
  function Wb (line 1) | function Wb(t){return r._33(0,[(t()(),r._9(0,0,null,null,19,"div",[["cla...
  function t (line 1) | function t(t){this.store=t,this.ref=null,this.data={},this.device=null,t...
  function Rb (line 1) | function Rb(t){return r._33(0,[(t()(),r._9(0,0,null,null,49,null,null,nu...
  function wb (line 1) | function wb(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,Rb)...
  function t (line 1) | function t(){}
  function Kb (line 1) | function Kb(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"ul",[["class...
  function t (line 1) | function t(t){this.store=t,this.ref=null,this.data={},this.device=null,t...
  function Jb (line 1) | function Jb(t){return r._33(0,[(t()(),r._9(0,0,null,null,54,null,null,nu...
  function Gb (line 1) | function Gb(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,Jb)...
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function t (line 1) | function t(t,n){var e=this;this.requests=t,this.globalization=n,this.dev...
  function Fb (line 1) | function Fb(t){return r._33(0,[(t()(),r._9(0,0,null,null,3,"span",[],[[8...
  function Yb (line 1) | function Yb(t){return r._33(0,[(t()(),r._9(0,0,null,null,14,"div",[["cla...
  function Bb (line 1) | function Bb(t){return r._33(0,[(t()(),r._9(0,0,null,null,3,"span",[],[[8...
  function Eb (line 1) | function Eb(t){return r._33(0,[(t()(),r._9(0,0,null,null,16,"tr",[],null...
  function Qb (line 1) | function Qb(t){return r._33(0,[(t()(),r._9(0,0,null,null,43,"div",[["cla...
  function _b (line 1) | function _b(t){return r._33(0,[r._24(0,xt,[r.v]),(t()(),r._4(16777216,nu...
  function t (line 1) | function t(t){this.project=t}
  function n (line 1) | function n(n,e){t.call(this,n),this.project=e,this.active=0,this.values=...
  function t (line 1) | function t(t){this.store=t,this.ref=null,this.statistics=[]}
  function iP (line 1) | function iP(t){return r._33(0,[(t()(),r._9(0,0,null,null,22,"div",[["cla...
  function lP (line 1) | function lP(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"div",[["clas...
  function t (line 1) | function t(t){this.store=t,this.widgets=[],this.location=null}
  function uP (line 1) | function uP(t){return r._33(0,[(t()(),r._9(0,0,null,null,8,"li",[],null,...
  function cP (line 1) | function cP(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"ul",[["class...
  function pP (line 1) | function pP(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"div",[["clas...
  function AP (line 1) | function AP(t){return r._33(0,[(t()(),r._9(0,0,null,null,9,"div",[["clas...
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function t (line 1) | function t(t,n){this.chRef=t,this.store=n,this.locations=[],this.devices...
  function yP (line 1) | function yP(t){return r._33(0,[(t()(),r._9(0,0,null,null,20,null,null,nu...
  function bP (line 1) | function bP(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,"div",[["clas...
  function t (line 1) | function t(t,n,e,r,o){this.store=t,this.ref=n,this.requests=e,this.realt...
  function mP (line 1) | function mP(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"div",[["clas...
  function jP (line 1) | function jP(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"div",[["clas...
  function xP (line 1) | function xP(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"div",[["clas...
  function vP (line 1) | function vP(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"div",[["clas...
  function SP (line 1) | function SP(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"div",[["clas...
  function OP (line 1) | function OP(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"div",[["clas...
  function qP (line 1) | function qP(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"div",[["clas...
  function VP (line 1) | function VP(t){return r._33(0,[(t()(),r._9(0,0,null,null,19,null,null,nu...
  function HP (line 1) | function HP(t){return r._33(0,[(t()(),r._9(0,0,null,null,4,null,null,nul...
  function TP (line 1) | function TP(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,mP)...
  function t (line 1) | function t(){}
  function RP (line 1) | function RP(t){return r._33(0,[(t()(),r._9(0,0,null,null,3,"div",[["clas...
  function t (line 1) | function t(){this.maintitle="",this.subtitle=""}
  function IP (line 1) | function IP(t){return r._33(0,[(t()(),r._9(0,0,null,null,37,"div",[["cla...
  function t (line 1) | function t(t,n,e,r,o,i){this.chRef=t,this.store=n,this.router=e,this.toa...
  function CP (line 1) | function CP(t){return r._33(0,[(t()(),r._9(0,0,null,null,25,"tr",[["clas...
  function JP (line 1) | function JP(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"app-error-me...
  function GP (line 1) | function GP(t){return r._33(0,[(t()(),r._9(0,0,null,null,41,"app-page-co...
  function t (line 1) | function t(){}
  function LP (line 1) | function LP(t){return r._33(0,[(t()(),r._9(0,0,null,null,0,"div",[["clas...
  function t (line 1) | function t(t,n,e){this.resolver=t,this.appRef=n,this.injector=e}
  function t (line 1) | function t(t,n){this._pub=t,this.store=n,this.type="editor",this.enableU...
  function EP (line 1) | function EP(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-media-to...
  function t (line 1) | function t(){}
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function t (line 1) | function t(t,n,e,r,o,i,l){this.route=t,this.store=n,this.router=e,this.r...
  function rk (line 1) | function rk(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-progress...
  function ok (line 1) | function ok(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"app-error-me...
  function ik (line 1) | function ik(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[["cla...
  function lk (line 1) | function lk(t){return r._33(0,[(t()(),r._9(0,0,null,null,3,"option",[],[...
  function ak (line 1) | function ak(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[["cla...
  function sk (line 1) | function sk(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"button",[["c...
  function uk (line 1) | function uk(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"button",[["c...
  function ck (line 1) | function ck(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"button",[["c...
  function pk (line 1) | function pk(t){return r._33(0,[r._29(402653184,1,{locationIcon:0}),(t()(...
  function t (line 1) | function t(t,n){this.chRef=t,this.store=n}
  function hk (line 1) | function hk(t){return r._33(0,[(t()(),r._9(0,0,null,null,19,"tr",[],null...
  function gk (line 1) | function gk(t){return r._33(0,[(t()(),r._9(0,0,null,null,28,"table",[["c...
  function t (line 1) | function t(){this.gps=null}
  function kk (line 1) | function kk(t){return r._33(0,[(t()(),r._9(0,0,null,null,6,"app-page-con...
  function t (line 1) | function t(){}
  function vk (line 1) | function vk(t){return r._33(0,[r._20(null,0),(t()(),r._4(0,null,null,0))...
  function Sk (line 1) | function Sk(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,vk)...
  function t (line 1) | function t(t,n,e,r,o,i){this.requests=t,this.chRef=n,this.router=e,this....
  function Vk (line 1) | function Vk(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"app-error-me...
  function Hk (line 1) | function Hk(t){return r._33(0,[(t()(),r._9(0,0,null,null,26,"tr",[["clas...
  function Tk (line 1) | function Tk(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"i",[["class"...
  function Wk (line 1) | function Wk(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"i",[["class"...
  function Uk (line 1) | function Uk(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"i",[["class"...
  function Mk (line 1) | function Mk(t){return r._33(0,[(t()(),r._9(0,0,null,null,53,"tr",[["clas...
  function Rk (line 1) | function Rk(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,Vk)...
  function t (line 1) | function t(){this.form={},this.onChange=new r.n}
  function Kk (line 1) | function Kk(t){return r._33(0,[(t()(),r._9(0,0,null,null,40,"app-page-co...
  function t (line 1) | function t(){this.form={},this.onChange=new r.n}
  function Jk (line 1) | function Jk(t){return r._33(0,[(t()(),r._9(0,0,null,null,24,"app-page-co...
  function t (line 1) | function t(){this.form={},this.onChange=new r.n}
  function Zk (line 1) | function Zk(t){return r._33(0,[(t()(),r._9(0,0,null,null,24,"app-page-co...
  function t (line 1) | function t(){this.form={},this.onChange=new r.n}
  function Fk (line 1) | function Fk(t){return r._33(0,[(t()(),r._9(0,0,null,null,24,"app-page-co...
  function t (line 1) | function t(t){this.store=t,this.mode="new",this.response=null,this.onCha...
  function Ek (line 1) | function Ek(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[["cla...
  function Qk (line 1) | function Qk(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[["cla...
  function _k (line 1) | function _k(t){return r._33(0,[(t()(),r._9(0,0,null,null,3,"option",[],n...
  function $k (line 1) | function $k(t){return r._33(0,[(t()(),r._9(0,0,null,null,21,"div",[["cla...
  function tm (line 1) | function tm(t){return r._33(0,[(t()(),r._9(0,0,null,null,138,"app-page-c...
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function t (line 1) | function t(t,n,e,r,o,i,l){this.route=t,this.store=n,this.router=e,this.a...
  function im (line 1) | function im(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-progress...
  function lm (line 1) | function lm(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"app-error-me...
  function am (line 1) | function am(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"app-device-t...
  function sm (line 1) | function sm(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"app-device-l...
  function um (line 1) | function um(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"app-device-h...
  function cm (line 1) | function cm(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"app-device-c...
  function pm (line 1) | function pm(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"button",[["c...
  function Am (line 1) | function Am(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"button",[["c...
  function fm (line 1) | function fm(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"button",[["c...
  function dm (line 1) | function dm(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,im)...
  function t (line 1) | function t(){this.terms=[{}]}
  function bm (line 1) | function bm(t){return r._33(0,[(t()(),r._9(0,0,null,null,70,null,null,nu...
  function Pm (line 1) | function Pm(t){return r._33(0,[(t()(),r._9(0,0,null,null,10,"app-page-co...
  function t (line 1) | function t(){this.exampleDevice={name:"Living room",type:sb.TemperatureS...
  function xm (line 1) | function xm(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-device-e...
  function t (line 1) | function t(t){this.translation=t,this.ref=null,this.lang="en"}
  function Vm (line 1) | function Vm(t){return r._33(0,[r._20(null,0),(t()(),r._4(0,null,null,0))...
  function Hm (line 1) | function Hm(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,Vm)...
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function t (line 1) | function t(t){this.requests=t,this.healthCheckResponseExample={data:{ite...
  function Rm (line 1) | function Rm(t){return r._33(0,[(t()(),r._9(0,0,null,null,100,"app-page-c...
  function t (line 1) | function t(t){this.http=t,this.type="get",this.url="",this.response=null...
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function t (line 1) | function t(){this.click=new r.n,this.label="Submit"}
  function Gm (line 1) | function Gm(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"div",[["clas...
  function Xm (line 1) | function Xm(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"pre",[],null...
  function Zm (line 1) | function Zm(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"div",[["clas...
  function Dm (line 1) | function Dm(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"pre",[],null...
  function Lm (line 1) | function Lm(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"docs-button"...
  function Fm (line 1) | function Fm(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"docs-loading...
  function Ym (line 1) | function Ym(t){return r._33(0,[(t()(),r._9(0,0,null,null,36,"div",[["cla...
  function Em (line 1) | function Em(t){return r._33(0,[(t()(),r._31(-1,null,["\n"])),(t()(),r._9...
  function _m (line 1) | function _m(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"div",[["clas...
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function t (line 1) | function t(t){this.requests=t,this.boardcastBodyExample={dataSourceId:"d...
  function oj (line 1) | function oj(t){return r._33(0,[(t()(),r._9(0,0,null,null,63,"app-page-co...
  function t (line 1) | function t(){}
  function sj (line 1) | function sj(t){return r._33(0,[(t()(),r._9(0,0,null,null,54,"app-page-co...
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function t (line 1) | function t(t){this.requests=t,this.hashkeys=[],this.description="",this....
  function dj (line 1) | function dj(t){return r._33(0,[(t()(),r._9(0,0,null,null,7,"tr",[],null,...
  function hj (line 1) | function hj(t){return r._33(0,[(t()(),r._9(0,0,null,null,50,"app-page-co...
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function t (line 1) | function t(t,n,e,r,o,i){this.router=t,this.requests=n,this.user=e,this.n...
  function mj (line 1) | function mj(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-progress...
  function jj (line 1) | function jj(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"app-error-me...
  function xj (line 1) | function xj(t){return r._33(0,[(t()(),r._9(0,0,null,null,3,"option",[],[...
  function vj (line 1) | function vj(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,mj)...
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function t (line 1) | function t(t,n){this.requests=t,this.notification=n,this.isRequesting=!1...
  function Tj (line 1) | function Tj(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"app-progress...
  function Wj (line 1) | function Wj(t){return r._33(0,[(t()(),r._9(0,0,null,null,39,"tr",[["clas...
  function Uj (line 1) | function Uj(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,Tj)...
  function t (line 1) | function t(t){this.iot=t}
  function Nj (line 1) | function Nj(t){return r._33(0,[r._29(402653184,1,{gallery:0}),(t()(),r._...
  function t (line 1) | function t(){var t=this;this.view="month",this.viewDate=new Date,this.ac...
  function Gj (line 1) | function Gj(t){return r._33(0,[(t()(),r._31(-1,null,["\n  "])),(t()(),r....
  function Xj (line 1) | function Xj(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"mwl-calendar...
  function Zj (line 1) | function Zj(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"mwl-calendar...
  function Dj (line 1) | function Dj(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"mwl-calendar...
  function Lj (line 1) | function Lj(t){return r._33(2,[r._24(0,vh,[xh,r.v]),r._29(402653184,1,{m...
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function t (line 1) | function t(t){this._label=t,this.disabled=!1,this.valueChecked=!0,this.v...
  function t (line 1) | function t(){this._radios=new Set,this._value=null,this.name="ngb-radio-...
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function t (line 1) | function t(t,n,e,o,i,l,a,s,u){var c=this;this._parserFormatter=t,this._e...
  function r (line 1) | function r(){this.constructor=n}
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function r (line 1) | function r(){this.constructor=n}
  function px (line 1) | function px(t){var n=t.getFullYear();return n%4==0&&n%100!=0||n%400==0}
  function Ax (line 1) | function Ax(t,n){return t-n*Math.floor(t/n)}
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function t (line 1) | function t(t,n,e,r){var o=this;this._windowCmptRef=t,this._contentRef=n,...
  function t (line 1) | function t(t,n,e,r){this._applicationRef=t,this._injector=n,this._compon...
  function t (line 1) | function t(t,n,e){this._moduleCFR=t,this._injector=n,this._modalStack=e}
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function t (line 1) | function t(t,n){this._changeDetectorRef=n,this.contexts=[],this.disabled...
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function t (line 1) | function t(t,n,e){this.hour=vp(t),this.minute=vp(n),this.second=vp(e)}
  function t (line 1) | function t(t){this.onChange=function(t){},this.onTouched=function(){},th...
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function t (line 1) | function t(t,n,e){this.nextOrObserver=t,this.error=n,this.complete=e}
  function n (line 1) | function n(n,e,r,o){t.call(this,n);var i=new Xo.a(e,r,o);i.syncErrorThro...
  function Cx (line 1) | function Cx(t,n,e){return function(t,n,e){return function(r){return r.li...
  function n (line 1) | function n(n,e,r,o){t.call(this),this.sourceObj=n,this.eventName=e,this....
  function t (line 1) | function t(t,n,e,o,i,l,a){var s=this;this._elementRef=t,this._viewContai...
  function t (line 1) | function t(){}
  function t (line 1) | function t(t){var n;this.translate=t,this.handleRoute=Vs.bind(this),this...
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function t (line 1) | function t(t,n,e){this.mocks=t,this.store=n,this.http=e}
  function t (line 1) | function t(t,n,e){this.store=t,this.requests=n,this.modalService=e,this....
  function iv (line 1) | function iv(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"app-error-me...
  function lv (line 1) | function lv(t){return r._33(0,[(t()(),r._9(0,0,null,null,29,"tr",[["clas...
  function av (line 1) | function av(t){return r._33(0,[(t()(),r._31(-1,null,["\n  "])),(t()(),r....
  function sv (line 1) | function sv(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,iv)...
  function t (line 1) | function t(t){this.toasterService=t}
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function t (line 1) | function t(t,n,e,r){this.requests=t,this.route=n,this.common=e,this.rout...
  function hv (line 1) | function hv(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[["cla...
  function gv (line 1) | function gv(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[["cla...
  function yv (line 1) | function yv(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[["cla...
  function bv (line 1) | function bv(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[["cla...
  function Pv (line 1) | function Pv(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"button",[["c...
  function kv (line 1) | function kv(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"button",[["c...
  function mv (line 1) | function mv(t){return r._33(0,[(t()(),r._9(0,0,null,null,107,"app-page-c...
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function t (line 1) | function t(t,n,e,r,o,i,l){this.router=t,this.permissions=n,this.requests...
  function qv (line 1) | function qv(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"app-error-me...
  function Vv (line 1) | function Vv(t){return r._33(0,[(t()(),r._9(0,0,null,null,1,"span",[["cla...
  function Hv (line 1) | function Hv(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"button",[["c...
  function Tv (line 1) | function Tv(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"button",[["c...
  function Wv (line 1) | function Wv(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"button",[["c...
  function Uv (line 1) | function Uv(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,qv)...
  function l (line 1) | function l(t){try{s(r.next(t))}catch(t){i(t)}}
  function a (line 1) | function a(t){try{s(r.throw(t))}catch(t){i(t)}}
  function s (line 1) | function s(t){t.done?o(t.value):new e(function(n){n(t.value)}).then(l,a)}
  function a (line 1) | function a(i){return function(a){return function(i){if(e)throw new TypeE...
  function t (line 1) | function t(t,n,e,r,o,i){this.router=t,this.permissions=n,this.requests=e...
  function Kv (line 1) | function Kv(t){return r._33(0,[(t()(),r._9(0,0,null,null,2,"app-error-me...
  function zv (line 1) | function zv(t){return r._33(0,[(t()(),r._9(0,0,null,null,24,"tr",[["clas...
  function Cv (line 1) | function Cv(t){return r._33(0,[(t()(),r._9(0,0,null,null,33,"app-page-co...
  function Jv (line 1) | function Jv(t){return r._33(0,[(t()(),r._4(16777216,null,null,1,null,Kv)...
  function Xv (line 1) | function Xv(t){switch(t.length){case 0:return new we;case 1:return t[0];...
  function Zv (line 1) | function Zv(t,n,e,r,o,i){void 0===o&&(o={}),void 0===i&&(i={});var l=[],...
  function Dv (line 1) | function Dv(t,n,e,r){switch(n){case"start":t.onStart(function(){return r...
  function Lv (line 1) | function Lv(t,n,e){var r=Fv(t.element,t.triggerName,t.fromState,t.toStat...
  function Fv (line 1) | function Fv(t,n,e,r,o,i){return void 0===o&&(o=""),void 0===i&&(i=0),{el...
  function Yv (line 1) | function Yv(t,n,e){var r;return t instanceof Map?(r=t.get(n))||t.set(n,r...
  function Bv (line 1) | function Bv(t){var n=t.indexOf(":");return[t.substring(1,n),t.substr(n+1)]}
  function rS (line 1) | function rS(t){nS||(nS=oS()||{},eS=!!nS.style&&"WebkitAppearance"in nS.s...
  function oS (line 1) | function oS(){return"undefined"!=typeof document?document.body:null}
  function t (line 1) | function t(){}
  function t (line 1) | function t(){}
  function pS (line 1) | function pS(t){if("number"==typeof t)return t;var n=t.match(/^(-?[\.\d]+...
  function AS (line 1) | function AS(t,n){switch(n){case"s":return t*cS;default:return t}}
  function fS (line 1) | function fS(t,n,e){return t.hasOwnProperty("duration")?t:function(t,n,e)...
  function dS (line 1) | function dS(t,n){return void 0===n&&(n={}),Object.keys(t).forEach(functi...
  function hS (line 1) | function hS(t,n,e){if(void 0===e&&(e={}),n)for(var r in t)e[r]=t[r];else...
  function gS (line 1) | function gS(t,n){t.style&&Object.keys(n).forEach(function(e){var r=vS(e)...
  function yS (line 1) | function yS(t,n){t.style&&Object.keys(n).forEach(function(n){var e=vS(n)...
  function bS (line 1) | function bS(t){return Array.isArray(t)?1==t.length?t[0]:Ue(t):t}
  function kS (line 1) | function kS(t){var n=[];if("string"==typeof t){for(var e=t.toString(),r=...
  function mS (line 1) | function mS(t,n,e){var r=t.toString(),o=r.replace(PS,function(t,r){var o...
  function jS (line 1) | function jS(t){for(var n=[],e=t.next();!e.done;)n.push(e.value),e=t.next...
  function vS (line 1) | function vS(t){return t.replace(xS,function(){for(var t=[],n=0;n<argumen...
  function SS (line 1) | function SS(t,n,e){switch(n.type){case 7:return t.visitTrigger(n,e);case...
  function HS (line 1) | function HS(t,n){var e=qS.has(t)||VS.has(t),r=qS.has(n)||VS.has(n);retur...
  function WS (line 1) | function WS(t,n,e){return new US(t).build(n,e)}
  function t (line 1) | function t(t){this._driver=t}
  function RS (line 1) | function RS(t){return!Array.isArray(t)&&"object"==typeof t}
  function wS (line 1) | function wS(t){var n;return t?(t=dS(t)).params&&(t.params=(n=t.params)?d...
  function NS (line 1) | function NS(t,n,e){return{duration:t,delay:n,easing:e}}
  function IS (line 1) | function IS(t,n,e,r,o,i,l,a){return void 0===l&&(l=null),void 0===a&&(a=...
  function t (line 1) | function t(){this._map=new Map}
  function JS (line 1) | function JS(t,n,e,r,o,i,l,a,s,u){return void 0===i&&(i={}),void 0===l&&(...
  function t (line 1) | function t(){}
  function t (line 1) | function t(t,n,e,r,o,i,l,a){this._driver=t,this.element=n,this.subInstru...
  function t (line 1) | function t(t,n,e,r){this._driver=t,this.element=n,this.startTime=e,this....
  function n (line 1) | function n(n,e,r,o,i,l,a){void 0===a&&(a=!1);var s=t.call(this,n,e,l.del...
  function FS (line 1) | function FS(t,n){void 0===n&&(n=3);var e=Math.pow(10,n-1);return Math.ro...
  function n (line 1) | function n(){return null!==t&&t.apply(this,arguments)||this}
  function QS (line 1) | function QS(t,n,e,r,o,i,l,a,s,u,c,p){return{type:0,element:t,triggerName...
  function t (line 1) | function t(t,n,e){this._triggerName=t,this.ast=n,this._stateStyles=e}
  function t (line 1) | function t(t,n){this.styles=t,this.defaultParams=n}
  function t (line 1) | function t(t,n){var e=this;this.name=t,this.ast=n,this.transitionFactori...
  function eO (line 1) | function eO(t,n,e){t.hasOwnProperty(n)?t.hasOwnProperty(e)||(t[e]=t[n]):...
  function t (line 1) | function t(t,n){this._driver=t,this._normalizer=n,this._animations={},th...
  function t (line 1) | function t(t,n){void 0===n&&(n=""),this.namespaceId=n;var e=t&&t.hasOwnP...
  function t (line 1) | function t(t,n,e){this.id=t,this.hostElement=n,this._engine=e,this.playe...
  function t (line 1) | function t(t,n){this.driver=t,this._normalizer=n,this.players=[],this.ne...
  function t (line 1) | function t(t,n,e){this.namespaceId=t,this.triggerName=n,this.element=e,t...
  function hO (line 1) | function hO(t){return t&&1===t.nodeType}
  function gO (line 1) | function gO(t,n){var e=t.style.display;return t.style.display=null!=n?n:...
  function yO (line 1) | function yO(t,n,e,r,o){var i=[];e.forEach(function(t){return i.push(gO(t...
  function bO (line 1) | function bO(t,n){var e=new Map;if(t.forEach(function(t){return e.set(t,[...
  function kO (line 1) | function kO(t,n){if(t.classList)t.classList.add(n);else{var e=t[PO];e||(...
  function mO (line 1) | function mO(t,n){if(t.classList)t.classList.remove(n);else{var e=t[PO];e...
  function jO (line 1) | function jO(t,n,e){Xv(e).onDone(function(){return t.processLeaveNode(n)})}
  function xO (line 1) | function xO(t,n,e){var r=e.get(t);if(!r)return!1;var o=n.get(t);return o...
  function t (line 1) | function t(t,n){var e=this;this._driver=t,this._triggerCache={},this.onR...
  function t (line 1) | function t(t,n,e,r){void 0===r&&(r=[]);var o=this;this.element=t,this.ke...
  function OO (line 1) | function OO(t,n){return window.getComputedStyle(t)[n]}
  function t (line 1) | function t(){}
  function n (line 1) | function n(n,e){var o=t.call(this)||this;return o._nextAnimationId=0,o._...
  function n (line 1) | function n(n,e){var r=t.call(this)||this;return r._id=n,r._renderer=e,r}
  function t (line 1) | function t(t,n,e,r){this.id=t,this.element=n,this._renderer=r,this.paren...
  function WO (line 1) | function WO(t,n,e,r,o){return t.setProperty(n,"@@"+e+":"+r,o)}
  function t (line 1) | function t(t,n,e){this.delegate=t,this.engine=n,this._zone=e,this._curre...
  function t (line 1) | function t(t,n,e){this.namespaceId=t,this.delegate=n,this.engine=e,this....
  function n (line 1) | function n(n,e,r,o){var i=t.call(this,e,r,o)||this;return i.factory=n,i....
  function n (line 1) | function n(n,e){return t.call(this,n,e)||this}
  function NO (line 1) | function NO(){return"undefined"!=typeof Element&&"function"==typeof Elem...
  function IO (line 1) | function IO(){return new BS}
  function KO (line 1) | function KO(t,n,e){return new UO(t,n,e)}
  function t (line 1) | function t(t,n,e,r){this.user=t,this.router=n,this.translate=e,this.acti...
  function t (line 1) | function t(t,n,e){var r;this.permissions=t,this.iotsvg=n,this.translate=...
  function e (line 1) | function e(t){var n=[];return t.email||n.push({location:"email",message:...
  function t (line 1) | function t(t){this.toasterService=t}
  function YO (line 1) | function YO(t,n,e,r){void 0===r&&(r=!1);var o,i=!1;return o=n.map(functi...
  function BO (line 1) | function BO(t,n){switch(void 0===t&&(t=[]),n.type){case"RESET":return[];...
  function EO (line 1) | function EO(t,n){switch(void 0===t&&(t=[]),n.type){case"RESET":return[];...
  function QO (line 1) | function QO(t,n){void 0===t&&(t=[]);var e=n.payload;switch(n.type){case"...
  function _O (line 1) | function _O(t,n){switch(void 0===t&&(t=[]),n.type){case"RESET":return[];...
  function $O (line 1) | function $O(t,n){switch(void 0===t&&(t=[]),n.type){case"RESET":return[];...
  function tq (line 1) | function tq(t,n){switch(void 0===t&&(t=[]),n.type){case"RESET":return[];...
  function nq (line 1) | function nq(t,n){switch(void 0===t&&(t=[]),n.type){case"RESET":return[];...
  function lq (line 1) | function lq(t){return r._33(0,[(t()(),r._9(0,16777216,null,null,1,"route...
  function n (line 1) | function n(){var n=t.call(this,"object unsubscribed");this.name=n.name="...
  function j (line 1) | function j(t,n,e){n=n||0,e=e||0;var r=new Date(0);r.setUTCFullYear(t,0,4...

FILE: dist/polyfills.3d3c8c0866d3754719db.bundle.js
  function e (line 1) | function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.en...
  function r (line 1) | function r(){}
  function D (line 1) | function D(e){for(var t in e)(e instanceof D||p.call(e,t))&&h(this,t,{va...
  function P (line 1) | function P(){h(this,"length",{writable:!0,value:0}),arguments.length&&m....
  function x (line 1) | function x(){if(_.disableRegExpRestore)return function(){};for(var e={la...
  function S (line 1) | function S(e){if(null===e)throw new TypeError("Cannot convert null or un...
  function T (line 1) | function T(e){return"number"==typeof e?e:Number(e)}
  function z (line 1) | function z(e){return p.call(e,"__getInternalProperties")?e.__getInternal...
  function L (line 1) | function L(e){for(var t=e.length;t--;){var n=e.charAt(t);n>="a"&&n<="z"&...
  function N (line 1) | function N(e){return!!E.test(e)&&!j.test(e)&&!F.test(e)}
  function A (line 1) | function A(e){for(var t=void 0,n=void 0,r=1,o=(n=(e=e.toLowerCase()).spl...
  function q (line 1) | function q(e){if(void 0===e)return new P;for(var t=new P,n=S(e="string"=...
  function U (line 1) | function U(e,t){for(var n=t;n;){if(v.call(e,n)>-1)return n;var r=n.lastI...
  function H (line 1) | function H(e,t){for(var n=0,r=t.length,o=void 0,i=void 0,a=void 0;n<r&&!...
  function W (line 1) | function W(e,t,n,r,o){if(0===e.length)throw new ReferenceError("No local...
  function X (line 1) | function X(e,t){for(var n=t.length,r=new P,o=0;o<n;){var i=t[o];void 0!=...
  function K (line 1) | function K(e,t,n){var r,o=void 0;if(void 0!==n&&void 0!==(o=(n=new D(S(n...
  function B (line 1) | function B(e,t,n,r,o){var i=e[t];if(void 0!==i){if(i="boolean"===n?Boole...
  function G (line 1) | function G(e,t,n,r,o){var i=e[t];if(void 0!==i){if(i=Number(i),isNaN(i)|...
  function Q (line 1) | function Q(){var e=arguments[0],t=arguments[1];return this&&this!==V?fun...
  function J (line 1) | function J(){var e=null!==this&&"object"===c.typeof(this)&&z(this);if(!e...
  function $ (line 1) | function $(e,t){var n=z(e),r=n["[[numberingSystem]]"],o=_.NumberFormat["...
  function ee (line 1) | function ee(e,t){for(var n=$(e,t),r="",o=0;n.length>o;o++)r+=n[o]["[[val...
  function te (line 1) | function te(e,t,n){var r=n,o=void 0,i=void 0;if(0===e)o=b.call(Array(r+1...
  function ne (line 1) | function ne(e,t,n,r){var o,i=r,a=Math.pow(10,i)*e,s=0===a?"0":a.toFixed(...
  function ce (line 1) | function ce(e){for(var t=0;t<ue.length;t+=1)if(e.hasOwnProperty(ue[t]))r...
  function le (line 1) | function le(e){for(var t=0;t<se.length;t+=1)if(e.hasOwnProperty(se[t]))r...
  function fe (line 1) | function fe(e,t){for(var n={_:{}},r=0;r<se.length;r+=1)e[se[r]]&&(n[se[r...
  function pe (line 1) | function pe(e){return e.pattern12=e.extendedPattern.replace(/'([^']*)'/g...
  function he (line 1) | function he(e,t){switch(e.charAt(0)){case"G":return t.era=["short","shor...
  function ve (line 1) | function ve(e,t){if(!ae.test(t)){var n={originalPattern:t,_:{}};return n...
  function ye (line 1) | function ye(e,t,n,r,o){var i=e[t]&&e[t][n]?e[t][n]:e.gregory[n],a={narro...
  function me (line 1) | function me(){var e=arguments[0],t=arguments[1];return this&&this!==V?fu...
  function we (line 1) | function we(e,t,n){if(void 0===e)e=null;else{var r=S(e);for(var o in e=n...
  function ke (line 1) | function ke(){var e=null!==this&&"object"===c.typeof(this)&&z(this);if(!...
  function _e (line 1) | function _e(e,t){if(!isFinite(t))throw new RangeError("Invalid valid dat...
  function Oe (line 1) | function Oe(e,t){for(var n=_e(e,t),r="",o=0;n.length>o;o++)r+=n[o].value...
  function n (line 1) | function n(e){t&&t.mark&&t.mark(e)}
  function r (line 1) | function r(e,n){t&&t.measure&&t.measure(e,n)}
  function t (line 1) | function t(e,t){this._properties=null,this._parent=e,this._name=t?t.name...
  function e (line 1) | function e(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0}...
  function t (line 1) | function t(n,r,o,i,a,s){this._zone=null,this.runCount=0,this._zoneDelega...
  function v (line 1) | function v(t){0===E&&0===p.length&&(o||e[l]&&(o=e[l].resolve(0)),o?o[f](...
  function g (line 1) | function g(){if(!h){for(h=!0;p.length;){var e=p;p=[];for(var t=0;t<e.len...
  function j (line 1) | function j(){}
  function F (line 1) | function F(e){return"__zone_symbol__"+e}
  function f (line 1) | function f(e){n.onUnhandledError(e);try{var r=t[l];r&&"function"==typeof...
  function p (line 1) | function p(e){return e&&e.then}
  function h (line 1) | function h(e){return e}
  function v (line 1) | function v(e){return I.reject(e)}
  function P (line 1) | function P(e,t){return function(n){try{z(e,t,n)}catch(t){z(e,!1,t)}}}
  function z (line 1) | function z(e,r,i){var s,u=x();if(e===i)throw new TypeError(S);if(e[g]===...
  function j (line 1) | function j(e){if(e[g]===D){try{var n=t[E];n&&"function"==typeof n&&n.cal...
  function F (line 1) | function F(e,t,n,r,o){j(e);var i=e[g],a=i?"function"==typeof r?r:h:"func...
  function e (line 1) | function e(t){if(!(this instanceof e))throw new Error("Must be an instan...
  function o (line 1) | function o(e){r&&(r=t(e))}
  function i (line 1) | function i(e){r&&(r=n(e))}
  function C (line 1) | function C(e){var t=e.prototype,n=r(t,"then");if(!n||!1!==n.writable&&n....
  function h (line 1) | function h(e,t){return Zone.current.wrap(e,t)}
  function v (line 1) | function v(e,t,n,r,o){return Zone.current.scheduleMacroTask(e,t,n,r,o)}
  function k (line 1) | function k(e,t){for(var n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(...
  function _ (line 1) | function _(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&"un...
  function z (line 1) | function z(e,r,o){var i=t(e,r);if(!i&&o&&t(o,r)&&(i={enumerable:!0,confi...
  function E (line 1) | function E(e,t,n){if(t)for(var r=0;r<t.length;r++)z(e,"on"+t[r],n);else{...
  function F (line 1) | function F(e){var t=m[e];if(t){m[g(e)]=t,m[e]=function(){var n=k(argumen...
  function I (line 1) | function I(e,n,o){for(var i=e;i&&!i.hasOwnProperty(n);)i=r(i);!i&&e[n]&&...
  function M (line 1) | function M(e,t){e[g("OriginalDelegate")]=t}
  function N (line 1) | function N(){if(R)return L;R=!0;try{var e=y.navigator.userAgent;return-1...
  function H (line 1) | function H(e,t,n){var o=n&&n.add||a,i=n&&n.rm||s,u=n&&n.listeners||"even...
  function W (line 1) | function W(e,t){var n=[];for(var r in e){var o=q.exec(r),i=o&&o[1];if(i&...
  function K (line 1) | function K(e,t,n,r){var o=null,i=null;n+=r;var a={};function s(t){var n=...
  function Q (line 1) | function Q(e,t){return e&&e[Y]&&e[Y][t]}
  function J (line 1) | function J(e,t,n){return Object.isFrozen(n)||(n.configurable=!0),n.confi...
  function $ (line 1) | function $(e,t,n,r){try{return B(e,t,n)}catch(i){if(!n.configurable)thro...
  function le (line 1) | function le(e,t,n,r){e&&E(e,function(e,t,n){if(!n)return t;var r=n.filte...
  function fe (line 1) | function fe(e,u){if(!D||x){var c="undefined"!=typeof WebSocket;if(functi...
  function i (line 1) | function i(e){var t=e.data;return t.args[t.cbIdx]=function(){e.invoke.ap...
  function y (line 1) | function y(e){XMLHttpRequest[i]=!1;var t=e.data,r=t.target,a=r[o];l||(l=...
  function m (line 1) | function m(){}
  function b (line 1) | function b(e){var t=e.data;return t.aborted=!0,_.apply(t.target,t.args)}
  function n (line 1) | function n(t){return function(n){W(e,t).forEach(function(r){var o=e.Prom...
  function e (line 1) | function e(){}
  function e (line 1) | function e(){}

FILE: dist/scripts.e519ef3666a8a65c1b79.bundle.js
  function e (line 1) | function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{...
  function r (line 1) | function r(t){return t&&t.__esModule?t:{default:t}}
  function i (line 1) | function i(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.en...
  function t (line 1) | function t(e,n){(function(t,e){if(!(t instanceof e))throw new TypeError(...
  function n (line 1) | function n(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}
  function r (line 1) | function r(t){if("number"==typeof t)return t;if(function(t){return"symbo...
  function o (line 1) | function o(e){var n=l,r=f;return l=f=void 0,g=e,d=t.apply(r,n)}
  function s (line 1) | function s(t){var n=t-m;return void 0===m||n>=e||n<0||O&&t-g>=h}
  function c (line 1) | function c(){var t=y();if(s(t))return a(t);p=setTimeout(c,function(t){va...
  function a (line 1) | function a(t){return p=void 0,_&&l?o(t):(l=f=void 0,d)}
  function u (line 1) | function u(){var t=y(),n=s(t);if(l=arguments,f=this,m=t,n){if(void 0===p...
  function r (line 1) | function r(t){return parseFloat(t)||0}
  function i (line 1) | function i(t){return Array.prototype.slice.call(arguments,1).reduce(func...
  function o (line 1) | function o(t,e,n,r){return{x:t,y:e,width:n,height:r}}
  function t (line 1) | function t(t,e){var n=-1;return t.some(function(t,r){return t[0]===e&&(n...
  function e (line 1) | function e(){this.__entries__=[]}
  function n (line 1) | function n(){o&&(o=!1,t()),s&&i()}
  function r (line 1) | function r(){a(n)}
  function i (line 1) | function i(){var t=Date.now();if(o){if(t-c<u)return;s=!0}else o=!0,s=!1,...

FILE: src/app/app.module.ts
  class AppComponent (line 58) | class AppComponent implements OnInit {
    method constructor (line 59) | constructor (
    method ngOnInit (line 67) | ngOnInit() {
    method RestoreLanguage (line 73) | private RestoreLanguage () {
  class AppModule (line 142) | class AppModule {

FILE: src/app/app.reducers.ts
  function appReducersGenerator (line 6) | function appReducersGenerator () {

FILE: src/app/app.routes.ts
  function AuthLayoutChild (line 14) | function AuthLayoutChild(component: any, route: string, options: any = {...
  function createRoutes (line 46) | function createRoutes () {

FILE: src/app/boilerplate/angular-calendar/angular-calendar.component.ts
  class AngularCalendarComponent (line 45) | class AngularCalendarComponent {
    method dayClicked (line 109) | dayClicked({ date, events }: { date: Date; events: CalendarEvent[] }):...
    method eventTimesChanged (line 123) | eventTimesChanged({
    method handleEvent (line 134) | handleEvent(action: string, event: CalendarEvent): void {
    method addEvent (line 138) | addEvent(): void {

FILE: src/app/boilerplate/boilerplate.module.ts
  class BoilerplateModule (line 38) | class BoilerplateModule { }

FILE: src/app/common.ts
  function GetNetworkError (line 6) | function GetNetworkError (): IResponse<any> {
  function error (line 18) | function error (response: IResponse<any>, fieldName: string) {
  function IsSuccessEntity (line 49) | function IsSuccessEntity (response: IResponse<any>) {
  function IsDataSource (line 53) | function IsDataSource (data: DataSource) {
  function handleRoute (line 64) | function handleRoute (req: HttpRequest<any>, routes, prefixAPI: string):...
  function urlMatch (line 79) | function urlMatch( url: string, method: string = null, routes, prefixAPI) {
  constant API (line 105) | const API = {
  function GetUrl (line 111) | function GetUrl (affix: string) {

FILE: src/app/components/contact-details/contact-details.component.ts
  class ContactDetailsComponent (line 12) | class ContactDetailsComponent implements OnInit {
    method constructor (line 15) | constructor(
    method ngOnInit (line 20) | ngOnInit() {
    method GetContacts (line 28) | public async GetContacts () {
    method GetPlaceHolder (line 40) | public GetPlaceHolder (type: any) {
    method AddAnother (line 48) | public AddAnother () {
    method RemoveByIndex (line 55) | public RemoveByIndex (id: number) {
    method SubmitForm (line 58) | public async SubmitForm () {

FILE: src/app/components/forms/checkbox-input/checkbox-input.component.ts
  class CheckboxInputComponent (line 8) | class CheckboxInputComponent implements OnInit {
    method constructor (line 16) | constructor() { }
    method onInputChange (line 18) | onInputChange (e) {
    method ngOnInit (line 23) | ngOnInit() {

FILE: src/app/components/forms/radio-input/radio-input.component.ts
  class RadioInputComponent (line 8) | class RadioInputComponent implements OnInit {
    method constructor (line 12) | constructor() { }
    method ngOnInit (line 14) | ngOnInit() {

FILE: src/app/components/forms/select-input/select-input.component.ts
  class SelectInputComponent (line 8) | class SelectInputComponent implements OnInit {
    method constructor (line 16) | constructor() { }
    method onInputChange (line 17) | onInputChange (e) {
    method ngOnInit (line 20) | ngOnInit() {

FILE: src/app/components/forms/text-input/text-input.component.ts
  class TextInputComponent (line 8) | class TextInputComponent implements OnInit {
    method constructor (line 16) | constructor() { }
    method onInputChange (line 18) | onInputChange (e) {
    method ngOnInit (line 21) | ngOnInit() {

FILE: src/app/components/functions/UpdateOrInsert.ts
  function UpdateOrInsert (line 3) | function UpdateOrInsert (element: any, context: Array<any>, compareKey: ...

FILE: src/app/components/functions/UpdateOrPrepend.ts
  function UpdateOrPrepend (line 1) | function UpdateOrPrepend (element: any, context: Array<any>, compareKey:...

FILE: src/app/components/gallery/gallery.component.ts
  class GalleryComponent (line 13) | class GalleryComponent implements AfterContentInit {
    method constructor (line 18) | constructor(
    method ngAfterContentInit (line 22) | ngAfterContentInit () {

FILE: src/app/components/if-experimental/if-experimental.component.ts
  class IfExperimentalComponent (line 9) | class IfExperimentalComponent implements OnInit {
    method constructor (line 11) | constructor() { }
    method ngOnInit (line 13) | ngOnInit() {
    method ISExperimental (line 16) | public ISExperimental () {

FILE: src/app/components/loading/loading.component.ts
  class LoadingComponent (line 8) | class LoadingComponent implements OnInit {
    method constructor (line 10) | constructor() { }
    method ngOnInit (line 12) | ngOnInit() {

FILE: src/app/components/navigation/navigation.component.ts
  class NavigationComponent (line 9) | class NavigationComponent implements OnInit {
    method constructor (line 13) | constructor(
    method ngOnInit (line 19) | ngOnInit () {
    method CanIncludeItem (line 27) | public CanIncludeItem (item): boolean {

FILE: src/app/components/ngx-tooltip/ngx-tooltip.component.ts
  class NgxTooltipComponent (line 8) | class NgxTooltipComponent implements OnInit {
    method constructor (line 19) | constructor() { }
    method ngOnInit (line 21) | ngOnInit() {

FILE: src/app/components/ngx-tooltip/ngx-tooltip.module.ts
  class NgxTooltipModule (line 21) | class NgxTooltipModule { }

FILE: src/app/components/ngx-tooltip/tooltip.directive.ts
  class TooltipDirective (line 8) | class TooltipDirective {
    method constructor (line 12) | constructor(private el: ElementRef,
    method onMouseEnter (line 18) | onMouseEnter(): void {
    method onMouseLeave (line 28) | onMouseLeave(): void {
    method onClick (line 34) | onClick(): void {

FILE: src/app/components/notification-list/notification-list.component.ts
  class NotificationListComponent (line 10) | class NotificationListComponent implements OnInit {
    method clickout (line 17) | clickout(event) {
    method constructor (line 26) | constructor(
    method ngOnInit (line 31) | ngOnInit() {
    method ToggleNotification (line 38) | ToggleNotification() {
    method ToggleSearch (line 42) | ToggleSearch() {
    method filterNotifications (line 46) | filterNotifications(value) {
    method composedPath (line 51) | composedPath (el) {

FILE: src/app/components/output-pin-view/output-pin-view.component.ts
  class OutputPinViewComponent (line 10) | class OutputPinViewComponent implements OnInit {
    method constructor (line 16) | constructor() { }
    method setPrecent (line 18) | setPrecent(precent) {
    method round (line 40) | round (input: any): Number {
    method ngOnInit (line 44) | ngOnInit() {

FILE: src/app/components/page-header/page-header.component.ts
  class PageHeaderComponent (line 8) | class PageHeaderComponent {
    method keyup (line 16) | public keyup (value: string) {
    method actualFetch (line 29) | public actualFetch () {

FILE: src/app/components/privacy-policy/privacy-policy.component.ts
  class PrivacyPolicyComponent (line 8) | class PrivacyPolicyComponent implements OnInit {
    method constructor (line 10) | constructor() { }
    method ngOnInit (line 12) | ngOnInit() {

FILE: src/app/components/profile/profile.component.ts
  class ProfileComponent (line 16) | class ProfileComponent implements OnInit {
    method constructor (line 32) | constructor(
    method ChangeLanguage (line 43) | public ChangeLanguage () {
    method ngOnInit (line 51) | ngOnInit() {
    method SubmitForm (line 55) | public async SubmitForm () {

FILE: src/app/components/quick-chart/quick-chart.component.ts
  class QuickChartComponent (line 10) | class QuickChartComponent implements OnInit {
    method drawChart (line 13) | drawChart(data) {
    method constructor (line 124) | constructor() { }
    method ngOnInit (line 126) | ngOnInit() {

FILE: src/app/components/settings/settings.component.ts
  class SettingsComponent (line 10) | class SettingsComponent implements OnInit {
    method constructor (line 15) | constructor(
    method GetDeviceToken (line 19) | public GetDeviceToken () {
    method ngOnInit (line 22) | async ngOnInit() {
    method FormSubmit (line 31) | public async FormSubmit() {

FILE: src/app/components/sidebar-widget/sidebar-widget.component.ts
  class SidebarWidgetComponent (line 9) | class SidebarWidgetComponent implements OnInit {
    method constructor (line 12) | constructor() { }
    method ngOnInit (line 14) | ngOnInit() {

FILE: src/app/components/user-widget/user-widget.component.ts
  class UserWidgetComponent (line 8) | class UserWidgetComponent implements OnInit {
    method constructor (line 10) | constructor (private user: UserService) { }
    method ngOnInit (line 12) | ngOnInit() {
    method User (line 16) | get User () {

FILE: src/app/data-layer/activity.reducer.ts
  function activitiesReducer (line 4) | function activitiesReducer (state = [], action: Action) {

FILE: src/app/data-layer/notifications.reducer.ts
  function notificationsReducer (line 3) | function notificationsReducer (state: Array<INotification> = [], action:...

FILE: src/app/definitions.ts
  type Action (line 3) | interface Action extends NgrxAction {
  type IUserForm (line 6) | interface IUserForm {
  type IUser (line 14) | interface IUser {
  type IPermission (line 28) | interface IPermission {
  type IRole (line 34) | interface IRole {
  type Window (line 41) | interface Window {
  type SidebarWidgetItem (line 46) | interface SidebarWidgetItem {
  type ILocation (line 58) | interface ILocation {
  type IPermission (line 66) | interface IPermission {
  type AppState (line 75) | interface AppState {
  type ActivityTypes (line 85) | enum ActivityTypes {
  type IActivity (line 91) | interface IActivity {
  type IVPCInformation (line 103) | interface IVPCInformation {
  type WorkspaceUser (line 109) | interface WorkspaceUser {
  type TemperatureCustomization (line 121) | enum TemperatureCustomization {
  type IDeviceDisplayPreference (line 126) | interface IDeviceDisplayPreference {
  type DataSource (line 134) | interface DataSource {
  type CloudDeviceType (line 144) | enum CloudDeviceType {
  type CloudDeviceStatistics (line 151) | interface CloudDeviceStatistics {
  type CloudDevice (line 155) | interface CloudDevice {
  type PagePointerPosition (line 170) | interface PagePointerPosition {
  type ICloudDeviceDailyHistory (line 178) | interface ICloudDeviceDailyHistory {
  type INotification (line 183) | interface INotification {
  type ISettingsUpdateResponse (line 190) | interface ISettingsUpdateResponse {
  type IContact (line 194) | interface IContact {
  type IResetForm (line 199) | interface IResetForm {

FILE: src/app/iot/activity/activity-widget/activity-widget.component.ts
  class ActivityWidgetComponent (line 10) | class ActivityWidgetComponent implements OnInit, OnDestroy {
    method constructor (line 15) | constructor (public chRef: ChangeDetectorRef, private store: Store<App...
    method ngOnInit (line 19) | ngOnInit() {
    method ngOnDestroy (line 25) | ngOnDestroy () {

FILE: src/app/iot/activity/activity.component.ts
  class ActivityComponent (line 10) | class ActivityComponent implements OnInit, OnDestroy {
    method constructor (line 14) | constructor (public chRef: ChangeDetectorRef, private store: Store<App...
    method getType (line 18) | getType (type: any) {
    method ngOnInit (line 22) | ngOnInit() {
    method ngOnDestroy (line 28) | ngOnDestroy () {

FILE: src/app/iot/co2/co2.component.ts
  class Co2Component (line 8) | class Co2Component implements OnInit {
    method constructor (line 10) | constructor() { }
    method ngOnInit (line 12) | ngOnInit() {

FILE: src/app/iot/d3ne/d3ne.component.ts
  class D3neComponent (line 8) | class D3neComponent implements OnInit {
    method constructor (line 10) | constructor() { }
    method ngOnInit (line 12) | ngOnInit() {

FILE: src/app/iot/device-co2/device-co2.component.ts
  class DeviceCO2Component (line 9) | class DeviceCO2Component {
    method preferences (line 13) | public set preferences (value:  IDeviceDisplayPreference) {
    method TriggerChange (line 17) | public TriggerChange () {

FILE: src/app/iot/device-events-actions/device-events-actions.component.ts
  type IEventAction (line 3) | interface IEventAction {
  class DeviceEventsActionsComponent (line 12) | class DeviceEventsActionsComponent implements OnInit {
    method constructor (line 18) | constructor() { }
    method ngOnInit (line 20) | ngOnInit() {
    method AddAnother (line 23) | public AddAnother () {

FILE: src/app/iot/device-general-information/device-general-information.component.ts
  class DeviceGeneralInformationComponent (line 13) | class DeviceGeneralInformationComponent implements OnInit, OnDestroy {
    method device (line 18) | public set device (value: CloudDevice) {
    method constructor (line 26) | constructor (
    method ngOnInit (line 31) | ngOnInit() {
    method SubmitChange (line 38) | public SubmitChange () {
    method ngOnDestroy (line 41) | ngOnDestroy () {

FILE: src/app/iot/device-humidity/device-humidity.component.ts
  class DeviceHumidityComponent (line 9) | class DeviceHumidityComponent {
    method preferences (line 13) | public set preferences (value:  IDeviceDisplayPreference) {
    method TriggerChange (line 17) | public TriggerChange () {

FILE: src/app/iot/device-lamp/device-lamp.component.ts
  class DeviceLampComponent (line 9) | class DeviceLampComponent {
    method preferences (line 13) | public set preferences (value:  IDeviceDisplayPreference) {
    method TriggerChange (line 17) | public TriggerChange () {

FILE: src/app/iot/device-single/device-single.component.ts
  class DeviceSingleComponent (line 21) | class DeviceSingleComponent implements OnInit, OnDestroy {
    method constructor (line 32) | constructor(
    method ngOnInit (line 43) | async ngOnInit() {
    method ngOnDestroy (line 66) | ngOnDestroy () {
    method IsTemperature (line 69) | public IsTemperature () {
    method IsLamp (line 72) | public IsLamp () {
    method IsHumidity (line 75) | public IsHumidity () {
    method IsCo2 (line 78) | public IsCo2 () {
    method SubmitForm (line 81) | public async SubmitForm () {
    method DeleteDevice (line 104) | public DeleteDevice () {
    method DeviceGeneralChange (line 111) | public DeviceGeneralChange (data: any) {
    method DeviceCustomizationChange (line 114) | public DeviceCustomizationChange (value) {

FILE: src/app/iot/device-temperature/device-temperature.component.ts
  class DeviceTemperatureComponent (line 9) | class DeviceTemperatureComponent implements OnInit {
    method preferences (line 13) | public set preferences (value:  IDeviceDisplayPreference) {
    method constructor (line 17) | constructor() { }
    method ngOnInit (line 19) | ngOnInit() {
    method TriggerChange (line 22) | public TriggerChange () {

FILE: src/app/iot/devices/devices.component.ts
  class DevicesComponent (line 15) | class DevicesComponent implements  OnInit, OnDestroy {
    method constructor (line 22) | constructor (
    method ngOnInit (line 33) | ngOnInit() {
    method FormatDate (line 45) | public FormatDate (value: Date) {
    method FormatTemperature (line 51) | public FormatTemperature (value: number = 0) {
    method ngOnDestroy (line 55) | ngOnDestroy () {
    method DeleteDevice (line 60) | public DeleteDevice (device: CloudDevice) {
    method FindLocationName (line 68) | public FindLocationName (id: number): string {

FILE: src/app/iot/docs/docs-api-workaround/docs-api-workaround.component.ts
  class DocsApiWorkaroundComponent (line 8) | class DocsApiWorkaroundComponent implements OnInit {
    method constructor (line 15) | constructor() { }
    method ngOnInit (line 17) | ngOnInit() {
    method GetResponse (line 20) | public GetResponse () {
    method GetBody (line 23) | public GetBody () {
    method GetHeaders (line 27) | public GetHeaders () {

FILE: src/app/iot/docs/docs.component.ts
  class DocsComponent (line 12) | class DocsComponent implements OnInit {
    method constructor (line 29) | constructor (
    method ngOnInit (line 34) | async ngOnInit () {
    method GetUrl (line 41) | public GetUrl (affix: string) {

FILE: src/app/iot/docs/restful/restful.component.ts
  class RestfulComponent (line 8) | class RestfulComponent implements OnInit {
    method constructor (line 10) | constructor() { }
    method ngOnInit (line 12) | ngOnInit() {

FILE: src/app/iot/docs/sending-information-https/sending-information-https.component.ts
  constant YAML (line 8) | const YAML = require('yamljs');
  class SendingInformationHttpsComponent (line 15) | class SendingInformationHttpsComponent implements OnInit {
    method constructor (line 59) | constructor(
    method ngOnInit (line 63) | async ngOnInit() {
    method ChangeExample (line 69) | public ChangeExample () {
    method GetUrl (line 74) | public GetUrl (affix: string) {
    method GetYAML (line 78) | public GetYAML (object) {

FILE: src/app/iot/experimental/experimental.component.ts
  class ExperimentalComponent (line 9) | class ExperimentalComponent implements OnInit {
    method ngOnInit (line 17) | ngOnInit() {

FILE: src/app/iot/gps/gps.component.ts
  class GpsComponent (line 8) | class GpsComponent implements OnInit {
    method constructor (line 11) | constructor() { }
    method ngOnInit (line 13) | ngOnInit() {

FILE: src/app/iot/if-not-english/if-not-english.component.ts
  class IfNotEnglishComponent (line 9) | class IfNotEnglishComponent implements OnInit, OnDestroy {
    method constructor (line 13) | constructor(
    method ngOnInit (line 17) | ngOnInit() {
    method ngOnDestroy (line 24) | ngOnDestroy () {

FILE: src/app/iot/index/icon-widgets/icon-widgets.component.ts
  class IconWidgetsComponent (line 9) | class IconWidgetsComponent implements OnInit {
    method constructor (line 14) | constructor() { }
    method mockData (line 16) | mockData () {
    method ngOnInit (line 39) | async ngOnInit() {

FILE: src/app/iot/index/index.component.ts
  class IndexComponent (line 17) | class IndexComponent implements OnInit, AfterContentInit  {
    method constructor (line 21) | constructor(
    method ngOnInit (line 28) | ngOnInit () {
    method ngAfterContentInit (line 35) | ngAfterContentInit() {
    method TempWidget (line 40) | public TempWidget (device: CloudDevice) {
    method HasNoPreferenceOnDevices (line 47) | public HasNoPreferenceOnDevices (items: Array<CloudDevice> = []) {
    method AsDevice (line 51) | public AsDevice(device: CloudDevice): CloudDevice {

FILE: src/app/iot/iot-common.service.ts
  class IotCommonService (line 5) | class IotCommonService {
    method constructor (line 7) | constructor(
    method failPosting (line 12) | public failPosting() {
    method successPosting (line 15) | public successPosting() {

FILE: src/app/iot/iot-mock.interceptor.ts
  class IotMockInterceptor (line 9) | class IotMockInterceptor implements HttpInterceptor {
    method constructor (line 10) | constructor(
    method intercept (line 15) | intercept( req: HttpRequest<any>, next: HttpHandler ): Observable<Http...

FILE: src/app/iot/iot-mocks.service.ts
  class IotMockService (line 36) | class IotMockService {
    method constructor (line 54) | constructor (
    method getLocations (line 58) | public getLocations (): IResponse<any> {
    method GetDeviceDayHistory (line 88) | public GetDeviceDayHistory(req: HttpRequest<any>): IResponse<number> {
    method deleteRole (line 96) | public deleteRole (req: HttpRequest<any>): IResponse<any> {
    method getUnconnected (line 106) | public getUnconnected (req: HttpRequest<any>): IResponse<DataSource> {
    method getDevices (line 119) | public getDevices (): IResponse<CloudDevice> {
    method getDevice (line 126) | public getDevice (req: HttpRequest<any> , params): IResponse<CloudDevi...
    method postDevice (line 135) | public postDevice( req: HttpRequest<any> ): IResponse<CloudDevice> {
    method postLocation (line 158) | public postLocation(req: HttpRequest<any>): IResponse<ILocation> {
    method GetDeviceDailyHistory (line 187) | public GetDeviceDailyHistory (req: HttpRequest<any>): IResponse<ICloud...
    method getDevicesToken (line 209) | public getDevicesToken (req: HttpRequest<any>): IResponse<any> {
    method deleteDevice (line 220) | public deleteDevice (req: HttpRequest<any>): IResponse<any> {
    method deleteLocation (line 232) | public deleteLocation (req: HttpRequest<any>): IResponse<any> {
  function DeviceValidator (line 247) | function DeviceValidator (device: CloudDevice) {

FILE: src/app/iot/iot-module.reducers.ts
  function iotModuleReducersGenerator (line 6) | function iotModuleReducersGenerator () {

FILE: src/app/iot/iot-requests.service.ts
  class IotRequestsService (line 20) | class IotRequestsService {
    method constructor (line 21) | constructor(
    method getLocations (line 27) | public getLocations() {
    method getUnconnected (line 42) | public getUnconnected () {
    method getDevice (line 58) | public async getDevice (id: number) {
    method getDevices (line 73) | public getDevices () {
    method GetDeviceDayHistory (line 89) | public async GetDeviceDayHistory(id: number, date: Date): Promise<IRes...
    method getDeviceDailyHisotry (line 103) | public async getDeviceDailyHisotry (id: number): Promise<IResponse<ICl...
    method PostDevice (line 118) | public async PostDevice (device: CloudDevice): Promise<IResponse<Cloud...
    method PostLocation (line 144) | public async PostLocation (location: ILocation): Promise<IResponse<ILo...
    method deleteLocation (line 168) | async deleteLocation (id: number ) {
    method deleteDevice (line 192) | async deleteDevice (id: number ) {
    method getDeviceToken (line 216) | async getDeviceToken (): Promise<IResponse<any>> {
    method changeComplexBoardOutput (line 220) | async changeComplexBoardOutput (dataSourceId, pin, value): Promise<IRe...
    method createHash (line 227) | async createHash ({description}): Promise<IResponse<any>> {

FILE: src/app/iot/iot-routes.ts
  function AuthLayoutChild (line 16) | function AuthLayoutChild(component: any, route: string, options: any = {...

FILE: src/app/iot/iot.module.defs.ts
  type IotModuleState (line 3) | interface IotModuleState {

FILE: src/app/iot/iot.module.ts
  class IotModule (line 122) | class IotModule {
    method constructor (line 123) | constructor(

FILE: src/app/iot/locations/location-row/location-row.component.ts
  class LocationRowComponent (line 11) | class LocationRowComponent implements OnInit {
    method constructor (line 20) | constructor (
    method findTemperature (line 29) | public findTemperature (location: ILocation) {
    method setPrecent (line 38) | setPrecent(precent) {
    method ngOnInit (line 59) | ngOnInit() {

FILE: src/app/iot/locations/location-single/location-single.component.ts
  class LocationSingleComponent (line 20) | class LocationSingleComponent implements OnInit, AfterContentInit {
    method extractRouterInfo (line 42) | extractRouterInfo () {
    method constructor (line 57) | constructor(
    method ngOnInit (line 66) | ngOnInit() {
    method formSubmit (line 75) | public async formSubmit () {
    method onInputChange (line 91) | onInputChange (field, value) {
    method ngAfterContentInit (line 95) | ngAfterContentInit () {
    method changeSelection (line 104) | public changeSelection (items) {
    method deleteItem (line 107) | public deleteItem() {
  function GetSelectedItem (line 114) | function GetSelectedItem (items: Array<any> = []) {
  function DevicesAsKeyName (line 118) | function DevicesAsKeyName (devices: Array<CloudDevice>): Array<{value: a...

FILE: src/app/iot/locations/locations.component.ts
  class LocationsComponent (line 15) | class LocationsComponent implements OnInit {
    method constructor (line 20) | constructor (
    method searchChange (line 30) | public searchChange ($event) {
    method ngOnInit (line 33) | ngOnInit() {
    method DeleteLocation (line 43) | public DeleteLocation (id: number) {

FILE: src/app/iot/places/places.component.ts
  class PlacesComponent (line 12) | class PlacesComponent implements OnInit, OnDestroy {
    method constructor (line 17) | constructor(
    method ngOnInit (line 24) | async ngOnInit() {
    method ngOnDestroy (line 33) | ngOnDestroy () {
    method findWidgets (line 36) | public findWidgets (devices, location: ILocation): Array<CloudDevice> {

FILE: src/app/iot/realtime.service.ts
  class RealtimeService (line 23) | class RealtimeService {
    method constructor (line 28) | constructor(
    method ActivateRealtime (line 39) | public ActivateRealtime () {
    method StartSailsSocket (line 49) | public StartSailsSocket () {
    method connectToRoom (line 64) | async connectToRoom (token) {
    method ActivateMockIncomingMessages (line 82) | protected ActivateMockIncomingMessages () {
    method RecieveDeviceChange (line 92) | public RecieveDeviceChange (device: any) {
    method RecieveDataSourceIncoming (line 99) | public RecieveDataSourceIncoming (data: DataSource) {
    method MockDataIncome (line 122) | public MockDataIncome () {
    method ChangeComplexOutputValue (line 139) | public ChangeComplexOutputValue (deviceDataSourceId, pin, value) {

FILE: src/app/iot/reducers/devices.reducer.ts
  constant UPDATE_DEVICE (line 4) | const UPDATE_DEVICE = 'UPDATE_DEVICE';
  function devicesReducer (line 5) | function devicesReducer (state: Array<CloudDevice> = [], action: Action) {

FILE: src/app/iot/reducers/locations.reducer.ts
  function locationsReducer (line 4) | function locationsReducer (state: Array<ILocation> = [], action: Action) {

FILE: src/app/iot/reducers/unconnectedSources.reducer.ts
  function unconnectedReducer (line 5) | function unconnectedReducer (state: Array<DataSource> = [], action: Acti...

FILE: src/app/iot/statistics/statistics.component.ts
  class StatisticsComponent (line 14) | class StatisticsComponent implements OnInit, OnDestroy {
    method constructor (line 18) | constructor(
    method ngOnInit (line 22) | ngOnInit() {
    method InitDefaultStatistics (line 26) | private InitDefaultStatistics () {
    method ngOnDestroy (line 53) | ngOnDestroy () {

FILE: src/app/iot/switch-widgets/switch-widgets.component.ts
  class SwitchWidgetsComponent (line 9) | class SwitchWidgetsComponent {
    method GetIcon (line 13) | public GetIcon (device: CloudDevice) {
    method IsTemperature (line 17) | public IsTemperature (device: CloudDevice) {
    method value (line 20) | public value (device: CloudDevice) {

FILE: src/app/iot/water-bubble/water-bubble.component.ts
  class WaterBubbleComponent (line 8) | class WaterBubbleComponent implements OnInit {
    method value (line 11) | public set value (val) {
    method constructor (line 14) | constructor() { }
    method ngOnInit (line 16) | ngOnInit() {

FILE: src/app/iot/widgets/activities/activities.component.ts
  class ActivitiesComponent (line 8) | class ActivitiesComponent implements OnInit {
    method constructor (line 10) | constructor() { }
    method ngOnInit (line 12) | ngOnInit() {

FILE: src/app/iot/widgets/co2-widget/co2-widget.component.ts
  class CO2WidgetComponent (line 12) | class CO2WidgetComponent implements OnInit, OnDestroy {
    method constructor (line 24) | constructor(
    method ngOnInit (line 28) | ngOnInit() {
    method ngOnDestroy (line 33) | ngOnDestroy () {

FILE: src/app/iot/widgets/daily-statistics/daily-statistics.component.ts
  function generateMockSeries (line 8) | function generateMockSeries() {
  function previousSeconds (line 16) | function previousSeconds(s) {
  function CastHistoryToSeries (line 20) | function CastHistoryToSeries (items: Array<DataSource>): Array<Array<any...
  class DailyStatisticsComponent (line 30) | class DailyStatisticsComponent implements OnInit, AfterViewInit {
    method drawChart (line 43) | drawChart() {
    method constructor (line 131) | constructor(
    method pushValue (line 141) | public pushValue (date: Date, value: number) {
    method ngOnInit (line 151) | ngOnInit() {
    method ngAfterViewInit (line 174) | ngAfterViewInit () {
    method HasHistory (line 187) | public HasHistory () {

FILE: src/app/iot/widgets/history-statistics/history-statistics.component.ts
  type IComponentHistory (line 7) | interface IComponentHistory extends ICloudDeviceDailyHistory {
  class HistoryStatisticsComponent (line 16) | class HistoryStatisticsComponent implements OnInit {
    method drawChart (line 21) | drawChart(is_reversed?: boolean) {
    method constructor (line 96) | constructor(
    method ngOnInit (line 105) | async ngOnInit() {
    method CalculateChangeRate (line 113) | private CalculateChangeRate(items: Array<ICloudDeviceDailyHistory>): A...
    method GetDevice (line 130) | private async GetDevice(id: number) {
    method GetDayHistory (line 138) | private async GetDayHistory(id: number, date: Date): Promise<number[]> {
    method setChart (line 145) | async setChart(index: number, date: Date) {
    method fetchChart (line 151) | public async fetchChart(date: Date) {

FILE: src/app/iot/widgets/humidity/humidity.component.ts
  class HumidityComponent (line 12) | class HumidityComponent implements OnInit, OnDestroy {
    method constructor (line 24) | constructor(
    method ngOnInit (line 28) | ngOnInit() {
    method ngOnDestroy (line 33) | ngOnDestroy () {

FILE: src/app/iot/widgets/kana-beta/kana-beta.component.ts
  class KanaBetaComponent (line 13) | class KanaBetaComponent implements OnInit, AfterViewInit {
    method constructor (line 26) | constructor(
    method onChange (line 31) | public onChange (pin, value) {
    method isChe
Copy disabled (too large) Download .json
Condensed preview — 474 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (15,524K chars).
[
  {
    "path": ".angular-cli.json",
    "chars": 2702,
    "preview": "{\n  \"$schema\": \"./node_modules/@angular/cli/lib/config/schema.json\",\n  \"project\": {\n    \"name\": \"angular5-iot-dashboard\""
  },
  {
    "path": ".circleci/config.yml",
    "chars": 1270,
    "preview": "version: 2\njobs:\n  build:\n    working_directory: ~/app-name\n    docker:\n      - image: circleci/node:6-browsers\n    step"
  },
  {
    "path": ".editorconfig",
    "chars": 245,
    "preview": "# Editor configuration, see http://editorconfig.org\nroot = true\n\n[*]\ncharset = utf-8\nindent_style = space\nindent_size = "
  },
  {
    "path": ".firebaserc",
    "chars": 65,
    "preview": "{\n  \"projects\": {\n    \"default\": \"smart-angular-dashboard\"\n  }\n}\n"
  },
  {
    "path": ".gitignore",
    "chars": 608,
    "preview": "# See http://help.github.com/ignore-files/ for more about ignoring files.\n\n# compiled output\n/tmp\n/out-tsc\nmobile/node_m"
  },
  {
    "path": ".travis.yml",
    "chars": 1156,
    "preview": "language: node_js\nnode_js:\n  - '9'\nbranches:\n  only:\n  - master\nbefore_script:\n  - npm install -g @angular/cli@1.7.2\ncac"
  },
  {
    "path": "README.md",
    "chars": 6981,
    "preview": "[![Build Status](https://travis-ci.org/smart-dashboard/angular-dashboard.svg?branch=master)](https://travis-ci.org/smart"
  },
  {
    "path": "cypress/fixtures/example.json",
    "chars": 154,
    "preview": "{\n  \"name\": \"Using fixtures to represent data\",\n  \"email\": \"hello@cypress.io\",\n  \"body\": \"Fixtures are a great way to mo"
  },
  {
    "path": "cypress/integration/devices_spec.js",
    "chars": 1190,
    "preview": "describe('Devices (CloudDevices)', function () {\n  beforeEach(() => {\n    cy.visit('http://localhost:4200');\n    cy.get("
  },
  {
    "path": "cypress/integration/locations_spec.js",
    "chars": 1054,
    "preview": "describe('Locations tests', function () {\n  beforeEach(() => {\n    cy.visit('http://localhost:4200');\n    cy.get('.app-l"
  },
  {
    "path": "cypress/integration/profile_spec.js",
    "chars": 1043,
    "preview": "describe('Profile test', function () {\n  beforeEach(() => {\n    cy.visit('http://localhost:4200');\n    cy.get('.app-logi"
  },
  {
    "path": "cypress/integration/public_pages_spec.js",
    "chars": 1704,
    "preview": "\ndescribe('Authentication and public pages', function () {\n  beforeEach(() => {\n    cy.visit('http://localhost:4200');\n "
  },
  {
    "path": "cypress/plugins/index.js",
    "chars": 644,
    "preview": "// ***********************************************************\n// This example plugins/index.js can be used to load plug"
  },
  {
    "path": "cypress/support/commands.js",
    "chars": 841,
    "preview": "// ***********************************************\n// This example commands.js shows you how to\n// create various custom"
  },
  {
    "path": "cypress/support/index.js",
    "chars": 670,
    "preview": "// ***********************************************************\n// This example support/index.js is processed and\n// load"
  },
  {
    "path": "cypress.json",
    "chars": 30,
    "preview": "{\n  \"videoRecording\": false\n}\n"
  },
  {
    "path": "dist/3rdpartylicenses.txt",
    "chars": 62113,
    "preview": "date-fns@1.29.0\nMIT\n# License\n\ndate-fns is licensed under the [MIT license](http://kossnocorp.mit-license.org).\nRead mor"
  },
  {
    "path": "dist/assets/css/forms-style.css",
    "chars": 53127,
    "preview": ".j-forms {\n  position: relative;\n}\n.j-forms .input {\n  position: relative;\n}\n.j-forms .unit {\n  position: relative;\n  ma"
  },
  {
    "path": "dist/assets/fonts/LICENSE.txt",
    "chars": 516,
    "preview": "Font license info\n\n\n## Font Awesome\n\n   Copyright (C) 2016 by Dave Gandy\n\n   Author:    Dave Gandy\n   License:   SIL ()\n"
  },
  {
    "path": "dist/assets/fonts/README.txt",
    "chars": 2876,
    "preview": "This webfont is generated by http://fontello.com open source project.\n\n\n================================================"
  },
  {
    "path": "dist/assets/fonts/config.json",
    "chars": 96741,
    "preview": "{\n  \"name\": \"\",\n  \"css_prefix_text\": \"icon-\",\n  \"css_use_suffix\": false,\n  \"hinting\": true,\n  \"units_per_em\": 1000,\n  \"a"
  },
  {
    "path": "dist/assets/fonts/css/FFF-Forward.css",
    "chars": 349,
    "preview": "@font-face {\n    font-family: 'FFF-Forward';\n    src:url('../font/FFF-Forward.ttf.woff') format('woff'),\n        url('.."
  },
  {
    "path": "dist/assets/fonts/css/animation.css",
    "chars": 1857,
    "preview": "/*\n   Animation example, for spinners\n*/\n.animate-spin {\n  -moz-animation: spin 2s infinite linear;\n  -o-animation: spin"
  },
  {
    "path": "dist/assets/fonts/css/fontello-codes.css",
    "chars": 39018,
    "preview": "\n.icon-star:before { content: '\\e800'; } /* '' */\n.icon-star-empty:before { content: '\\e801'; } /* '' */\n.icon-star-ha"
  },
  {
    "path": "dist/assets/fonts/css/fontello-embedded.css",
    "chars": 594640,
    "preview": "@font-face {\n  font-family: 'fontello';\n  src: url('../font/fontello.eot?51540266');\n  src: url('../font/fontello.eot?51"
  },
  {
    "path": "dist/assets/fonts/css/fontello-ie7-codes.css",
    "chars": 76754,
    "preview": "\n.icon-star { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe800;&nbsp;'); }\n.icon-star-empty"
  },
  {
    "path": "dist/assets/fonts/css/fontello-ie7.css",
    "chars": 77005,
    "preview": "[class^=\"icon-\"], [class*=\" icon-\"] {\n  font-family: 'fontello';\n  font-style: normal;\n  font-weight: normal;\n \n  /* fix"
  },
  {
    "path": "dist/assets/fonts/css/fontello.css",
    "chars": 40756,
    "preview": "@font-face {\n  font-family: 'fontello';\n  src: url('../font/fontello.eot?12515862');\n  src: url('../font/fontello.eot?12"
  },
  {
    "path": "dist/assets/fonts/css/icomoon.css",
    "chars": 82169,
    "preview": "@font-face {\n  font-family: 'icomoon';\n  src:  url('../font/icomoon.eot?wmoukz');\n  src:  url('../font/icomoon.eot?wmouk"
  },
  {
    "path": "dist/assets/fonts/demo.html",
    "chars": 147261,
    "preview": "<!DOCTYPE html>\n<html>\n  <head><!--[if lt IE 9]><script language=\"javascript\" type=\"text/javascript\" src=\"//html5shim.go"
  },
  {
    "path": "dist/assets/google-fonts/quicksand/import.css",
    "chars": 1069,
    "preview": "/**\n* These fonts are copied from:\n* https://fonts.googleapis.com/css?family=Quicksand\n**/\n\n/* vietnamese */\n@font-face "
  },
  {
    "path": "dist/assets/material-icon.scss",
    "chars": 478078,
    "preview": "@font-face {\n  font-family: 'material';\n  src: url('data:application/octet-stream;base64,d09GRgABAAAAAaxMAA8AAAADOQgAAQA"
  },
  {
    "path": "dist/assets/scss/_injects.scss",
    "chars": 80,
    "preview": "@import \"vars\";\n@import \"../../styling/medias\";\n@import \"../../styling/mixins\";\n"
  },
  {
    "path": "dist/assets/scss/_vars.scss",
    "chars": 2035,
    "preview": "@import '../../../node_modules/sass-material-colors/sass/sass-material-colors';\n\n/// Default theme base variables\n$navig"
  },
  {
    "path": "dist/index.html",
    "chars": 1202,
    "preview": "<!doctype html><html lang=\"en\"><head><meta charset=\"utf-8\"><title>Your Dashboard | Internet of things dashboard</title><"
  },
  {
    "path": "dist/inline.318b50c57b4eba3d437b.bundle.js",
    "chars": 796,
    "preview": "!function(r){var n=window.webpackJsonp;window.webpackJsonp=function(e,u,c){for(var f,i,p,a=0,l=[];a<e.length;a++)o[i=e[a"
  },
  {
    "path": "dist/main.1f97156bf39f455d6051.bundle.js",
    "chars": 6264953,
    "preview": "webpackJsonp([0],{\"+/J2\":function(t,n,e){var r=e(\"xA5w\");t.exports=function(t,n){var e=r(t),o=Number(n);return e.setMill"
  },
  {
    "path": "dist/polyfills.3d3c8c0866d3754719db.bundle.js",
    "chars": 119107,
    "preview": "webpackJsonp([1],{\"+CM9\":function(e,t,n){\"use strict\";var r=n(\"Ds5P\"),o=n(\"ot5s\")(!1),i=[].indexOf,a=!!i&&1/[1].indexOf("
  },
  {
    "path": "dist/scripts.e519ef3666a8a65c1b79.bundle.js",
    "chars": 31255,
    "preview": "!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.am"
  },
  {
    "path": "dist/styles.9c2b95b3841237efe9ac.bundle.css",
    "chars": 746734,
    "preview": "@charset \"UTF-8\";/*!\n * Bootstrap v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Cop"
  },
  {
    "path": "firebase.json",
    "chars": 146,
    "preview": "{\n  \"hosting\": {\n    \"public\": \"dist\",\n    \"rewrites\": [\n      {\n        \"source\": \"**\",\n        \"destination\": \"/index."
  },
  {
    "path": "mobile/config.xml",
    "chars": 1133,
    "preview": "<?xml version='1.0' encoding='utf-8'?>\n<widget id=\"com.esam.ngiot\" version=\"1.0.0\" xmlns=\"http://www.w3.org/ns/widgets\" "
  },
  {
    "path": "mobile/hooks/README.md",
    "chars": 1099,
    "preview": "<!--\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the N"
  },
  {
    "path": "mobile/res/README.md",
    "chars": 1248,
    "preview": "<!--\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the N"
  },
  {
    "path": "mobile/res/screen/tizen/README.md",
    "chars": 875,
    "preview": "<!--\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the N"
  },
  {
    "path": "package.json",
    "chars": 2923,
    "preview": "{\n  \"name\": \"angular-dashboard\",\n  \"version\": \"1.0.14\",\n  \"license\": \"MIT\",\n  \"scripts\": {\n    \"ng\": \"ng\",\n    \"build\": "
  },
  {
    "path": "src/app/app.module.ts",
    "chars": 5672,
    "preview": "import { Component, Inject, OnInit } from '@angular/core';\nimport { BrowserAnimationsModule } from '@angular/platform-br"
  },
  {
    "path": "src/app/app.navigation.ts",
    "chars": 801,
    "preview": "import { environment } from 'environments/environment';\nimport { NgxMenuItem } from '@app/ng5-basic/ngx-sidebar/ngx-side"
  },
  {
    "path": "src/app/app.reducers.ts",
    "chars": 350,
    "preview": "\nimport { activitiesReducer } from '@app/data-layer/activity.reducer';\nimport { notificationsReducer } from '@app/data-l"
  },
  {
    "path": "src/app/app.routes.ts",
    "chars": 1862,
    "preview": "import { RouterModule, Routes } from '@angular/router';\nimport { SettingsComponent } from '@components/settings/settings"
  },
  {
    "path": "src/app/boilerplate/angular-calendar/angular-calendar.component.html",
    "chars": 3043,
    "preview": "\n<ng-template #modalContent let-close=\"close\">\n  <div class=\"modal-header\">\n    <h5 class=\"modal-title\">Event action occ"
  },
  {
    "path": "src/app/boilerplate/angular-calendar/angular-calendar.component.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/app/boilerplate/angular-calendar/angular-calendar.component.spec.ts",
    "chars": 692,
    "preview": "import { async, ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { AngularCalendarComponent } from './a"
  },
  {
    "path": "src/app/boilerplate/angular-calendar/angular-calendar.component.ts",
    "chars": 3471,
    "preview": "import {\n  Component,\n  ChangeDetectionStrategy,\n  ViewChild,\n  TemplateRef\n} from '@angular/core';\nimport {\n  startOfDa"
  },
  {
    "path": "src/app/boilerplate/boilerplate.module.ts",
    "chars": 1857,
    "preview": "import { NgModule, } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } fr"
  },
  {
    "path": "src/app/common.ts",
    "chars": 3069,
    "preview": "import { IResponse } from 'response-type';\nimport { Observable } from 'rxjs/Observable';\nimport { HttpEvent, HttpHeaders"
  },
  {
    "path": "src/app/components/contact-details/contact-details.component.html",
    "chars": 1410,
    "preview": "<app-progress-line *ngIf=\"isRequesting\"></app-progress-line>\n<app-page-container\n  maintitle=\"Manage your contact detail"
  },
  {
    "path": "src/app/components/contact-details/contact-details.component.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/app/components/contact-details/contact-details.component.spec.ts",
    "chars": 685,
    "preview": "import { async, ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { ContactDetailsComponent } from './co"
  },
  {
    "path": "src/app/components/contact-details/contact-details.component.ts",
    "chars": 1741,
    "preview": "import { Component, OnInit } from '@angular/core';\nimport { IContact } from '@app/definitions';\nimport { RequestsService"
  },
  {
    "path": "src/app/components/custom-switch.scss",
    "chars": 2290,
    "preview": "@import 'injects';\n.c-switch{\n    position: relative;\n    .cmn-toggle {\n        position: absolute;\n        margin-left:"
  },
  {
    "path": "src/app/components/forms/checkbox-input/checkbox-input.component.html",
    "chars": 189,
    "preview": "\n<label class=\"checkbox-toggle\">\n    <input [checked]=\"checked\" (change)=\"onInputChange($event)\" type=\"checkbox\">\n    <i"
  },
  {
    "path": "src/app/components/forms/checkbox-input/checkbox-input.component.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/app/components/forms/checkbox-input/checkbox-input.component.ts",
    "chars": 642,
    "preview": "import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\n\n@Component({\n  selector: 'app-checkbox-"
  },
  {
    "path": "src/app/components/forms/radio-input/radio-input.component.html",
    "chars": 361,
    "preview": "<div class=\"form-group\">\n  <div class=\"input-group Name\">\n    <span class=\"input-group-addon\"><i class=\"{{icon}}\"></i></"
  },
  {
    "path": "src/app/components/forms/radio-input/radio-input.component.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/app/components/forms/radio-input/radio-input.component.ts",
    "chars": 352,
    "preview": "import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n  selector: 'app-forms-radio-input',\n  templateU"
  },
  {
    "path": "src/app/components/forms/select-input/select-input.component.html",
    "chars": 417,
    "preview": "<div class=\"form-group\">\n  <label for=\"inputName\">{{name}}*</label>\n  <div class=\"input-group Name\">\n    <select type=\"t"
  },
  {
    "path": "src/app/components/forms/select-input/select-input.component.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/app/components/forms/select-input/select-input.component.ts",
    "chars": 623,
    "preview": "import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n  selector: 'app-forms-sel"
  },
  {
    "path": "src/app/components/forms/text-input/text-input.component.html",
    "chars": 257,
    "preview": "<div class=\"form-group\">\n  <label for=\"inputName\">{{name}}*</label>\n  <div class=\"input-group Name\">\n    <input type=\"te"
  },
  {
    "path": "src/app/components/forms/text-input/text-input.component.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/app/components/forms/text-input/text-input.component.ts",
    "chars": 626,
    "preview": "import { EventEmitter,  Output, Component, OnInit, Input } from '@angular/core';\n\n@Component({\n  selector: 'app-forms-te"
  },
  {
    "path": "src/app/components/functions/UpdateOrInsert.ts",
    "chars": 519,
    "preview": "import { merge } from '@lodash';\n\nexport default function UpdateOrInsert (element: any, context: Array<any>, compareKey:"
  },
  {
    "path": "src/app/components/functions/UpdateOrPrepend.ts",
    "chars": 426,
    "preview": "export default function UpdateOrPrepend (element: any, context: Array<any>, compareKey: any) {\n    let updated = false;\n"
  },
  {
    "path": "src/app/components/gallery/gallery.component.html",
    "chars": 153,
    "preview": "<app-page-container maintitle=\"Gallery & Media\" subtitle=\"Manage your medias and images\">\n  <app-ng-media #gallery></app"
  },
  {
    "path": "src/app/components/gallery/gallery.component.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/app/components/gallery/gallery.component.ts",
    "chars": 634,
    "preview": "import { Component, ViewChild, AfterContentInit } from '@angular/core';\nimport { NgMediaComponent } from '../../ng-media"
  },
  {
    "path": "src/app/components/if-experimental/if-experimental.component.html",
    "chars": 52,
    "preview": "<ng-content *ngIf=\"ISExperimental()\">\n\n</ng-content>"
  },
  {
    "path": "src/app/components/if-experimental/if-experimental.component.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/app/components/if-experimental/if-experimental.component.spec.ts",
    "chars": 685,
    "preview": "import { async, ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { IfExperimentalComponent } from './if"
  },
  {
    "path": "src/app/components/if-experimental/if-experimental.component.ts",
    "chars": 432,
    "preview": "import { Component, OnInit } from '@angular/core';\nimport { environment } from 'environments/environment';\n\n@Component({"
  },
  {
    "path": "src/app/components/loading/loading.component.html",
    "chars": 82,
    "preview": "<div class=\"spinner\">\n  <div class=\"dot1\"></div>\n  <div class=\"dot2\"></div>\n</div>"
  },
  {
    "path": "src/app/components/loading/loading.component.scss",
    "chars": 1039,
    "preview": ".spinner {\n  margin: 100px auto;\n  width: 40px;\n  height: 40px;\n  position: relative;\n  text-align: center;\n  \n  -webkit"
  },
  {
    "path": "src/app/components/loading/loading.component.ts",
    "chars": 274,
    "preview": "import { Component, OnInit } from '@angular/core';\n\n@Component({\n  selector: 'app-loading',\n  templateUrl: './loading.co"
  },
  {
    "path": "src/app/components/navigation/navigation.component.html",
    "chars": 343,
    "preview": "<!-- Navigation -->\n<nav class=\"navigation\">\n  <div class=\"nav-item-container\">  \n    <ng-container *ngFor=\"let nav of n"
  },
  {
    "path": "src/app/components/navigation/navigation.component.scss",
    "chars": 893,
    "preview": "@import 'injects';\n\nnav.navigation {\n\toverflow-y: auto;\n\tbackground: $navigation;\n\t\n\t@media (min-width: $screen-desktop)"
  },
  {
    "path": "src/app/components/navigation/navigation.component.ts",
    "chars": 892,
    "preview": "import { Component, OnInit } from '@angular/core';\nimport { UserService } from '@services/user.service';\nimport { AuthGu"
  },
  {
    "path": "src/app/components/ngx-tooltip/ngx-tooltip.component.html",
    "chars": 175,
    "preview": "<div #tooltipBox class=\"ngx-tooltip\" [ngStyle]=\"{'left': elementStyle.width + 'px', 'top': elementStyle.height + 'px', '"
  },
  {
    "path": "src/app/components/ngx-tooltip/ngx-tooltip.component.scss",
    "chars": 533,
    "preview": ".ngx-tooltip {\n    background: #333;\n    color: #fff;\n    padding: 4px 6px 6px;\n    position: fixed;\n    z-index: 100000"
  },
  {
    "path": "src/app/components/ngx-tooltip/ngx-tooltip.component.spec.ts",
    "chars": 657,
    "preview": "import { async, ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { NgxTooltipComponent } from './ngx-to"
  },
  {
    "path": "src/app/components/ngx-tooltip/ngx-tooltip.component.ts",
    "chars": 871,
    "preview": "import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\n\n@Component({\n  selector: 'app-ngx-tooltip',\n "
  },
  {
    "path": "src/app/components/ngx-tooltip/ngx-tooltip.module.ts",
    "chars": 486,
    "preview": "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TooltipDirective } fr"
  },
  {
    "path": "src/app/components/ngx-tooltip/tooltip.directive.ts",
    "chars": 1397,
    "preview": "import { Directive, HostListener, Input, ElementRef, ComponentFactoryResolver, ApplicationRef,\n         Injector, Embedd"
  },
  {
    "path": "src/app/components/notification-list/notification-list.component.html",
    "chars": 5633,
    "preview": "\n<div class=\"notification-container\" id=\"notification-button\" (click)=\"ToggleNotification();\" [ngClass]=\"{'active': noti"
  },
  {
    "path": "src/app/components/notification-list/notification-list.component.scss",
    "chars": 5266,
    "preview": ".notification-container{\n    width: 43px;\n    height: 43px;\n    top: 7px;\n    align-items: center;\n    justify-content: "
  },
  {
    "path": "src/app/components/notification-list/notification-list.component.spec.ts",
    "chars": 699,
    "preview": "import { async, ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { NotificationListComponent } from './"
  },
  {
    "path": "src/app/components/notification-list/notification-list.component.ts",
    "chars": 1877,
    "preview": "import { Component, OnInit, HostListener } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { AppState,"
  },
  {
    "path": "src/app/components/output-pin-view/output-pin-view.component.html",
    "chars": 421,
    "preview": "<li *ngIf=\"device && device.value == 'ON'\">\n  <span class=\"on\"><i>&#10003;</i> ON</span>\n</li>\n\n<li *ngIf=\"device && dev"
  },
  {
    "path": "src/app/components/output-pin-view/output-pin-view.component.scss",
    "chars": 1150,
    "preview": "\n.circularProgress {\n    $backgroundBarColor: #f2f2f2;\n    $barColor: #777;\n    float: left;\n    position: relative;\n   "
  },
  {
    "path": "src/app/components/output-pin-view/output-pin-view.component.ts",
    "chars": 1460,
    "preview": "import { Component, OnInit, Input } from '@angular/core';\nimport { random } from '@lodash';\nimport { CloudDevice } from "
  },
  {
    "path": "src/app/components/page-header/page-header.component.html",
    "chars": 473,
    "preview": "<h1 class='page-title'>\n  <i class=\"{{icon}}\"></i>\n  {{title}}\n\n  <div style=\"float: right;\">\n    <ng-content></ng-conte"
  },
  {
    "path": "src/app/components/page-header/page-header.component.scss",
    "chars": 1605,
    "preview": "@import 'injects';\n\n.page-title {\n\tbackground: $theme-color-700;\n  margin: 0;\n  font-size: 23px;\n  padding: 20px 15px;\n\t"
  },
  {
    "path": "src/app/components/page-header/page-header.component.ts",
    "chars": 923,
    "preview": "import { Component, Input, EventEmitter, Output } from '@angular/core';\n\n@Component({\n  selector: 'app-page-header',\n  t"
  },
  {
    "path": "src/app/components/privacy-policy/privacy-policy.component.html",
    "chars": 2783,
    "preview": "<div class=\"container-login\">\n  <div class=\"wrap-login\">\n    <div class=\"login-header\">\n      <span>\n        Privacy Pol"
  },
  {
    "path": "src/app/components/privacy-policy/privacy-policy.component.scss",
    "chars": 1565,
    "preview": "\n.container-login {\n    width: 100%;\n    min-height: 100vh;\n    display: -webkit-box;\n    display: -webkit-flex;\n    dis"
  },
  {
    "path": "src/app/components/privacy-policy/privacy-policy.component.spec.ts",
    "chars": 678,
    "preview": "import { async, ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { PrivacyPolicyComponent } from './pri"
  },
  {
    "path": "src/app/components/privacy-policy/privacy-policy.component.ts",
    "chars": 301,
    "preview": "import { Component, OnInit } from '@angular/core';\n\n@Component({\n  selector: 'app-privacy-policy',\n  templateUrl: './pri"
  },
  {
    "path": "src/app/components/profile/profile.component.html",
    "chars": 2356,
    "preview": "<app-progress-line *ngIf=\"isRequesting\"></app-progress-line>\n<app-error-message *ngIf=\"response && response.error\">\n  {{"
  },
  {
    "path": "src/app/components/profile/profile.component.scss",
    "chars": 108,
    "preview": ".warning {\n  color: #b10000;\n  font-size: 12px;\n  line-height: 16px;\n  display: block;\n  margin-top: 10px;\n}"
  },
  {
    "path": "src/app/components/profile/profile.component.spec.ts",
    "chars": 635,
    "preview": "import { async, ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { ProfileComponent } from './profile.c"
  },
  {
    "path": "src/app/components/profile/profile.component.ts",
    "chars": 2275,
    "preview": "import { Component, OnInit } from '@angular/core';\nimport { IUser, ISettingsUpdateResponse } from '@app/definitions';\nim"
  },
  {
    "path": "src/app/components/quick-chart/quick-chart.component.html",
    "chars": 38,
    "preview": "<div id=\"quick-chart-container\"></div>"
  },
  {
    "path": "src/app/components/quick-chart/quick-chart.component.scss",
    "chars": 253,
    "preview": "#quick-chart-container{\n    width: 100%; \n    position: relative;\n    height: 150px; \n    margin: 25px auto;\n    /deep/ "
  },
  {
    "path": "src/app/components/quick-chart/quick-chart.component.spec.ts",
    "chars": 697,
    "preview": "import { async, ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { QuickChartComponent } from './quick-"
  },
  {
    "path": "src/app/components/quick-chart/quick-chart.component.ts",
    "chars": 2676,
    "preview": "import { Component, OnInit } from '@angular/core';\nimport { times, random } from '@lodash';\ndeclare var Highcharts: any;"
  },
  {
    "path": "src/app/components/settings/settings.component.html",
    "chars": 1020,
    "preview": "<app-page-container \n  maintitle=\"IOT Access Token\"\n  subtitle=\"Your devices can communicate over RESTful or MQTT using "
  },
  {
    "path": "src/app/components/settings/settings.component.scss",
    "chars": 267,
    "preview": "pre {\n  white-space: pre-wrap;       /* Since CSS 2.1 */\n  white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */\n  whit"
  },
  {
    "path": "src/app/components/settings/settings.component.ts",
    "chars": 1131,
    "preview": "import { Component, OnInit } from '@angular/core';\nimport { IsSuccessEntity } from '@app/common';\nimport { IotRequestsSe"
  },
  {
    "path": "src/app/components/sidebar-widget/sidebar-widget.component.html",
    "chars": 1761,
    "preview": "<div class=\"flex-container medium-icon-widget-wrapper\">\n  <ng-container *ngFor=\"let item of items;\">\n    <div class='fle"
  },
  {
    "path": "src/app/components/sidebar-widget/sidebar-widget.component.scss",
    "chars": 1706,
    "preview": "@import 'injects';\n\n.calendar-box {\n  min-height:200px;\n  display: inline-block;\n  width:100%;\n}\n\nh2 {\n  font-size:16px;"
  },
  {
    "path": "src/app/components/sidebar-widget/sidebar-widget.component.ts",
    "chars": 425,
    "preview": "import { Component, OnInit, Input } from '@angular/core';\nimport { SidebarWidgetItem } from '@app/definitions';\n\n@Compon"
  },
  {
    "path": "src/app/components/user-widget/user-widget.component.html",
    "chars": 868,
    "preview": "<div class=\"user-widget-container\" *ngIf=\"User\">\n  <div class='background-overlay'>\n    <div class=\"avatar\" *ngIf=\"User."
  },
  {
    "path": "src/app/components/user-widget/user-widget.component.scss",
    "chars": 2617,
    "preview": ".user-widget-container{\n\n  .background-overlay {\n    background: rgba(0,0,0,0.1);\n    &:after{\n      content: ' ';\n     "
  },
  {
    "path": "src/app/components/user-widget/user-widget.component.ts",
    "chars": 417,
    "preview": "import { Component, OnInit } from '@angular/core';\nimport { UserService } from '@services/user.service';\n@Component({\n  "
  },
  {
    "path": "src/app/data-layer/activity.reducer.ts",
    "chars": 348,
    "preview": "import { Action } from '@app/definitions';\nimport UpdateOrPrepend from '@components/functions/UpdateOrPrepend';\n\nexport "
  },
  {
    "path": "src/app/data-layer/notifications.reducer.ts",
    "chars": 306,
    "preview": "import { INotification, Action } from '@app/definitions';\n\nexport function notificationsReducer (state: Array<INotificat"
  },
  {
    "path": "src/app/definitions.ts",
    "chars": 3597,
    "preview": "import {Action as NgrxAction} from '@ngrx/store';\n\nexport interface Action extends NgrxAction {\n  payload: any;\n}\nexport"
  },
  {
    "path": "src/app/iot/activity/activity-widget/activity-widget.component.html",
    "chars": 516,
    "preview": "<div id=\"timeline-container\">\n  <h4 class='box-title'>\n    RECENT ACTIVITY\n  </h4>\n  <ul>\n    <li *ngFor=\"let activity o"
  },
  {
    "path": "src/app/iot/activity/activity-widget/activity-widget.component.scss",
    "chars": 1511,
    "preview": "@import 'injects';\n\n$bgColor: #f0f0f0;\n$lineColor: #d7dbe6;\n$background: #e6eaf5;\n$itemicon: #8e96ad;\n\n#timeline-contain"
  },
  {
    "path": "src/app/iot/activity/activity-widget/activity-widget.component.ts",
    "chars": 791,
    "preview": "import { Component, OnInit, ChangeDetectorRef, OnDestroy } from '@angular/core';\nimport { Store } from '@ngrx/store';\nim"
  },
  {
    "path": "src/app/iot/activity/activity.component.html",
    "chars": 646,
    "preview": "<table class=\"flat-table\">\n  <tbody>\n    <tr >\n      <th>Id</th>\n      <th>Type</th>\n      <th>Device</th>\n      <th>Pin"
  },
  {
    "path": "src/app/iot/activity/activity.component.scss",
    "chars": 409,
    "preview": "@import 'injects';\n\n.flat-table {\n \n  font-family: sans-serif;\n  -webkit-font-smoothing: antialiased;\n  font-size: 115%;"
  },
  {
    "path": "src/app/iot/activity/activity.component.ts",
    "chars": 809,
    "preview": "import { ChangeDetectorRef, Component, OnInit, OnDestroy } from '@angular/core';\nimport { Store } from '@ngrx/store';\nim"
  },
  {
    "path": "src/app/iot/checkbox-switch.scss",
    "chars": 2930,
    "preview": "@import 'injects';\n\ninput[type=\"checkbox\"].ios-switch { \n\tposition: absolute;\n\topacity: 0;\n}\n\n$switchColor: $dialect;\n \n"
  },
  {
    "path": "src/app/iot/co2/co2.component.html",
    "chars": 109,
    "preview": "<ul class='molecule CO2'>\n\t<li class='atom C'></li>\n\t<li class='atom O'></li>\n\t<li class='atom O'></li>\n</ul>"
  },
  {
    "path": "src/app/iot/co2/co2.component.scss",
    "chars": 2919,
    "preview": ".set > * {\n  display: inline-block;\n  vertical-align: middle;\n}\n\nul {\n  padding: 0;\n  list-style: none;\n}\nul li {\n  marg"
  },
  {
    "path": "src/app/iot/co2/co2.component.spec.ts",
    "chars": 607,
    "preview": "import { async, ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { Co2Component } from './co2.component"
  },
  {
    "path": "src/app/iot/co2/co2.component.ts",
    "chars": 258,
    "preview": "import { Component, OnInit } from '@angular/core';\n\n@Component({\n  selector: 'app-co2',\n  templateUrl: './co2.component."
  },
  {
    "path": "src/app/iot/d3ne/d3ne.component.html",
    "chars": 23,
    "preview": "<p>\n  d3ne works!\n</p>\n"
  },
  {
    "path": "src/app/iot/d3ne/d3ne.component.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/app/iot/d3ne/d3ne.component.spec.ts",
    "chars": 614,
    "preview": "import { async, ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { D3neComponent } from './d3ne.compone"
  },
  {
    "path": "src/app/iot/d3ne/d3ne.component.ts",
    "chars": 262,
    "preview": "import { Component, OnInit } from '@angular/core';\n\n@Component({\n  selector: 'app-d3ne',\n  templateUrl: './d3ne.componen"
  },
  {
    "path": "src/app/iot/device-co2/device-co2.component.html",
    "chars": 471,
    "preview": "<app-page-container maintitle=\"CO2 Sensor Customization\" subtitle=\"Modify how a CO2 can look and feel among dashboard\">\n"
  },
  {
    "path": "src/app/iot/device-co2/device-co2.component.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/app/iot/device-co2/device-co2.component.ts",
    "chars": 659,
    "preview": "import { Component, Output, EventEmitter, Input } from '@angular/core';\nimport { IDeviceDisplayPreference } from '@app/d"
  },
  {
    "path": "src/app/iot/device-events-actions/device-events-actions.component.html",
    "chars": 1452,
    "preview": "<app-page-container \n  subtitle=\"Set different actions for specific events that might occure to this device\"\n  maintitle"
  },
  {
    "path": "src/app/iot/device-events-actions/device-events-actions.component.scss",
    "chars": 52,
    "preview": ".float-left {\n  float: left;\n  margin: auto 7.5px;\n}"
  },
  {
    "path": "src/app/iot/device-events-actions/device-events-actions.component.spec.ts",
    "chars": 721,
    "preview": "import { async, ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { DeviceEventsActionsComponent } from "
  },
  {
    "path": "src/app/iot/device-events-actions/device-events-actions.component.ts",
    "chars": 495,
    "preview": "import { Component, OnInit } from '@angular/core';\n\nexport interface IEventAction {\n  id?: number;\n}\n\n@Component({\n  sel"
  },
  {
    "path": "src/app/iot/device-general-information/device-general-information.component.html",
    "chars": 3272,
    "preview": "<app-page-container maintitle=\"Device general information\" subtitle=\"Here you can modify display name or other general i"
  },
  {
    "path": "src/app/iot/device-general-information/device-general-information.component.scss",
    "chars": 91,
    "preview": "@import 'injects';\n\n.error-message-inline {\n  color: $error-color-800;\n  font-size: 12px;\n}"
  },
  {
    "path": "src/app/iot/device-general-information/device-general-information.component.ts",
    "chars": 1353,
    "preview": "import { Component, OnInit, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\nimport { CloudDevice } from '"
  },
  {
    "path": "src/app/iot/device-humidity/device-humidity.component.html",
    "chars": 492,
    "preview": "<app-page-container maintitle=\"Humidity Customization\" subtitle=\"Modify how a humidity sensor can look and feel among da"
  },
  {
    "path": "src/app/iot/device-humidity/device-humidity.component.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/app/iot/device-humidity/device-humidity.component.ts",
    "chars": 679,
    "preview": "import { Component, Output, EventEmitter, Input } from '@angular/core';\nimport { IDeviceDisplayPreference } from '@app/d"
  },
  {
    "path": "src/app/iot/device-lamp/device-lamp.component.html",
    "chars": 477,
    "preview": "<app-page-container maintitle=\"Lamp Customization\" subtitle=\"Modify how a lamp can look and feel among dashboard\">\n  <di"
  },
  {
    "path": "src/app/iot/device-lamp/device-lamp.component.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/app/iot/device-lamp/device-lamp.component.ts",
    "chars": 663,
    "preview": "import { Component, Output, EventEmitter, Input } from '@angular/core';\nimport { IDeviceDisplayPreference } from '@app/d"
  },
  {
    "path": "src/app/iot/device-single/device-single.component.html",
    "chars": 1521,
    "preview": "<app-progress-line *ngIf=\"isRequesting\"></app-progress-line>\n<form>\n  <app-error-message *ngIf=\"response && response.err"
  },
  {
    "path": "src/app/iot/device-single/device-single.component.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/app/iot/device-single/device-single.component.ts",
    "chars": 3683,
    "preview": "import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { CloudDevice, CloudDeviceType } from '@app/definit"
  },
  {
    "path": "src/app/iot/device-temperature/device-temperature.component.html",
    "chars": 773,
    "preview": "<app-page-container maintitle=\"Lamp Customization\" subtitle=\"Modify how a temperature can look and feel among dashboard\""
  },
  {
    "path": "src/app/iot/device-temperature/device-temperature.component.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/app/iot/device-temperature/device-temperature.component.ts",
    "chars": 797,
    "preview": "import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\nimport { IDeviceDisplayPreference } from"
  },
  {
    "path": "src/app/iot/devices/devices.component.html",
    "chars": 2504,
    "preview": "<app-error-message *ngIf=\"devices.length === 0\">\n    There are no devices. Please create devices and you will be able to"
  },
  {
    "path": "src/app/iot/devices/devices.component.scss",
    "chars": 1606,
    "preview": "@import 'injects';\n.padding-box {\n  padding:5px;\n  text-align:left;\n}\n.page-container {\n    padding: 15px;\n}\n#thermomete"
  },
  {
    "path": "src/app/iot/devices/devices.component.ts",
    "chars": 2349,
    "preview": "import { Component, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';\nimport { ILocation, DataSource, CloudDe"
  },
  {
    "path": "src/app/iot/docs/docs-api-workaround/docs-api-workaround.component.html",
    "chars": 450,
    "preview": "<div class=\"workaround-container\">\n  <div class=\"headers-label\">headers:</div>\n  <pre>{{GetHeaders() | json}}</pre>\n\n  <"
  },
  {
    "path": "src/app/iot/docs/docs-api-workaround/docs-api-workaround.component.scss",
    "chars": 272,
    "preview": "@import 'injects';\npre {\n  border-radius: 0;\n}\n.api-type {\n  float: left;\n  background: $theme-color-900;\n  color: $them"
  },
  {
    "path": "src/app/iot/docs/docs-api-workaround/docs-api-workaround.component.ts",
    "chars": 714,
    "preview": "import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n  selector: 'app-docs-api-workaround',\n  templat"
  },
  {
    "path": "src/app/iot/docs/docs.component.html",
    "chars": 3518,
    "preview": "<app-page-container maintitle=\"Welcome to realtime documentations\" subtitle=\"In this section, we explain all about the d"
  },
  {
    "path": "src/app/iot/docs/docs.component.scss",
    "chars": 97,
    "preview": "@import 'injects';\n\n.page-content {\n  padding: 0 15px;\n  font-size: 16px;\n  line-height: 25px;\n}\n"
  },
  {
    "path": "src/app/iot/docs/docs.component.ts",
    "chars": 1094,
    "preview": "import { Component, OnInit } from '@angular/core';\nimport { IResponse } from 'response-type';\nimport { environment } fro"
  },
  {
    "path": "src/app/iot/docs/docs.styling.scss",
    "chars": 184,
    "preview": "@import 'injects';\n\nul {\n  margin-left: 15px;\n  margin-top: 15px;\n  strong {\n    background: $theme-color-100;\n  }\n}\n\nh2"
  },
  {
    "path": "src/app/iot/docs/restful/restful.component.html",
    "chars": 1874,
    "preview": "<app-page-container maintitle=\"Restful API\" subtitle=\"Understanding the Restful API and how to implement it\">\n\n  <app-if"
  },
  {
    "path": "src/app/iot/docs/restful/restful.component.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/app/iot/docs/restful/restful.component.spec.ts",
    "chars": 635,
    "preview": "import { async, ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { RestfulComponent } from './restful.c"
  },
  {
    "path": "src/app/iot/docs/restful/restful.component.ts",
    "chars": 298,
    "preview": "import { Component, OnInit } from '@angular/core';\n\n@Component({\n  selector: 'app-restful',\n  templateUrl: './restful.co"
  },
  {
    "path": "src/app/iot/docs/sending-information-https/sending-information-https.component.html",
    "chars": 2298,
    "preview": "<app-page-container maintitle=\"Sending a sensor data\">\n\n  <app-if-not-english>\n    <div class=\"alert alert-warning\">Docu"
  },
  {
    "path": "src/app/iot/docs/sending-information-https/sending-information-https.component.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/app/iot/docs/sending-information-https/sending-information-https.component.spec.ts",
    "chars": 749,
    "preview": "import { async, ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { SendingInformationHttpsComponent } f"
  },
  {
    "path": "src/app/iot/docs/sending-information-https/sending-information-https.component.ts",
    "chars": 1997,
    "preview": "import { Component, OnInit } from '@angular/core';\nimport { IResponse } from 'response-type';\nimport { DataSource } from"
  },
  {
    "path": "src/app/iot/experimental/experimental.component.html",
    "chars": 55,
    "preview": "<app-device-events-actions></app-device-events-actions>"
  },
  {
    "path": "src/app/iot/experimental/experimental.component.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/app/iot/experimental/experimental.component.spec.ts",
    "chars": 670,
    "preview": "import { async, ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { ExperimentalComponent } from './expe"
  },
  {
    "path": "src/app/iot/experimental/experimental.component.ts",
    "chars": 616,
    "preview": "import { Component, OnInit } from '@angular/core';\nimport { CloudDevice, CloudDeviceType } from '@app/definitions';\n\n@Co"
  },
  {
    "path": "src/app/iot/gps/gps.component.html",
    "chars": 185,
    "preview": "<app-page-container maintitle=\"Device GPS location\"\n  subtitle=\"This is an experimental support for GPS location inside "
  },
  {
    "path": "src/app/iot/gps/gps.component.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/app/iot/gps/gps.component.spec.ts",
    "chars": 607,
    "preview": "import { async, ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { GpsComponent } from './gps.component"
  },
  {
    "path": "src/app/iot/gps/gps.component.ts",
    "chars": 542,
    "preview": "import { Component, OnInit } from '@angular/core';\n\n@Component({\n  selector: 'app-gps',\n  templateUrl: './gps.component."
  },
  {
    "path": "src/app/iot/if-not-english/if-not-english.component.html",
    "chars": 47,
    "preview": "<ng-content *ngIf=\"lang !== 'en'\"></ng-content>"
  },
  {
    "path": "src/app/iot/if-not-english/if-not-english.component.scss",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/app/iot/if-not-english/if-not-english.component.spec.ts",
    "chars": 672,
    "preview": "import { async, ComponentFixture, TestBed } from '@angular/core/testing';\n\nimport { IfNotEnglishComponent } from './if-n"
  },
  {
    "path": "src/app/iot/if-not-english/if-not-english.component.ts",
    "chars": 667,
    "preview": "import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@"
  },
  {
    "path": "src/app/iot/index/icon-widgets/icon-widgets.component.html",
    "chars": 301,
    "preview": "<div class=\"large-icon-status\">\n    <div class=\"large-icon-widget legend-chart\" *ngFor=\"let widget of largeWidgets\">\n   "
  },
  {
    "path": "src/app/iot/index/icon-widgets/icon-widgets.component.scss",
    "chars": 1087,
    "preview": "@import 'injects';\n\n.large-icon-status {\n    $border: 1px solid rgb(241, 243, 247);\n    margin-top:15px;\n    border-top:"
  },
  {
    "path": "src/app/iot/index/icon-widgets/icon-widgets.component.ts",
    "chars": 1361,
    "preview": "import { Component, OnInit } from '@angular/core';\nimport { random } from '@lodash';\n\n@Component({\n  selector: 'app-icon"
  },
  {
    "path": "src/app/iot/index/index.component.html",
    "chars": 1926,
    "preview": "<div *ngIf=\"HasNoPreferenceOnDevices(devices)\" class=\"sidebar-no-widget-message\">\n  You have not set any kind of widgets"
  },
  {
    "path": "src/app/iot/index/index.component.scss",
    "chars": 440,
    "preview": "\n.box-wrapper {\n  height: auto;\n  border: 1px solid #eee;\n  border-radius: 3px;\n  background: #fff;\n  box-shadow: 0 1px "
  }
]

// ... and 274 more files (download for full content)

About this extraction

This page contains the full source code of the owsolutions/angular5-iot-dashboard GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 474 files (14.6 MB), approximately 3.9M tokens, and a symbol index with 2620 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!