@mxtommy/kip 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ # V 2.4.0
2
+ ## New features
3
+ * Added Numeric, Date and Text Widgets color support
4
+ * Added Next Waypoint bearing indicator to Wind Widget
5
+ * Added support for Widget data expiration (TTL). Previously Widget stayed still when a source stopped sending data or the server connection was lost.
6
+ ## Improvements
7
+ * Strengthen Widget configuration management when adding new KIP properties
8
+ ## Fixes
9
+ * Numeric Widget HH:MM:SS conversion unit broken
10
+ * Wind Widget speed value indicator sometimes doing a full rotating when passing over zero degrees
1
11
  # V 2.3.0
2
12
  ## New features
3
13
  * Added support for Signal K Source Priorities
package/README.md CHANGED
@@ -1,11 +1,11 @@
1
1
  # About KIP
2
2
 
3
- KIP is powerfull marine instrumentation package to display Signal K data. KIP, much like modern expensive MFDs, is very flexible and can be split up in any arrangements and display all kinds of data available to Signal K server.
3
+ KIP is powerful marine instrumentation package to display Signal K data. KIP, much like modern expensive MFDs, is very flexible and can be split up in any arrangements and display all kinds of data available to Signal K server.
4
4
 
5
5
  # Design Goal
6
6
 
7
7
  The idea is to replicate the functionality of MFDs such as the B&G Triton, Raymarine i70, or Garmin GMI20.
8
- - Display should be fullscreen and not require any scrolling
8
+ - Display should use the entire screen and not require any scrolling
9
9
  - Anything displayed should be as big as possible in the given space
10
10
  - Touchscreen user experience should be excellent
11
11
  - Layout and configuration should be both easy to operate and flexible
@@ -14,52 +14,59 @@ The idea is to replicate the functionality of MFDs such as the B&G Triton, Rayma
14
14
 
15
15
  # Features
16
16
  ## Access from Phones, Tablets, Raspberry Pi and Computers
17
- Simply navigate to `http://<Signal K Server URL>:<Signal K Server port>/@mxtommy/kip` to load KIP and enjoy it's features remotly on any device.
17
+ Simply navigate to `http://<Signal K Server URL>:<Signal K Server port>/@mxtommy/kip` to load KIP and enjoy it's features remotely on any device.
18
+
19
+ ### Responsive Design
20
+ KIP adjust to the device type and form factor for the best possible user experience.
21
+
22
+ ### Touch Devices
23
+ - Swipe left and right to cycle trough your Widget layouts.
24
+ - Double tap to toggle night mode.
18
25
 
19
26
  ## Multiple User Profiles
20
- If you have different roles on board; captiain, skipper, tacticien, navigator, engineers or simply different people with diffenrent needs, each can tailor as they wish. The use of profiles can also offers the ability to tie specific configuration arrangements to usecase or form factors.
27
+ If you have different roles on board; captain, skipper, tactician, navigator, engineers or simply different people with different needs, each can tailor as they wish. The use of profiles can also offers the ability to tie specific configuration arrangements to use case or form factors.
21
28
 
22
29
  ## User Experience
30
+
31
+ ### Night Mode
32
+ Keep your night vision with a simple tap, regardless of the selected theme. The below image looks very dark, but at night...it's perfect!
33
+
34
+ ![Night mode](./KipNightMode-1024x488.png)
35
+
23
36
  ### Built-in Themes
24
37
  Use your favorite style from the built-in themes gallery.
25
38
 
26
39
  Modern Dark Theme
27
40
  ![Modern Dark Theme](./KipSample-1-1024x488.png)
28
-
41
+
29
42
  Signal K Inspired Theme
30
43
  ![Signal K Inspired Theme](./KipSample-2-1024x488.png)
31
-
44
+
32
45
  Light Blue Theme
33
46
  ![Light Blue Theme](./KipSample-3-1024x488.png)
34
47
 
35
48
  NOTE: Request a new theme by sending us inspirational/reference material (web sites, picture, etc.).
36
49
  If we fall in love, we will do it. Even better, branch and contribute yourself. We will assist and guide!
37
50
 
38
- ### Night Mode
39
- Keep your night vision woth a simple tab, regardless of the selected theme. The below image looks very dark, but at night...it's perfect!
40
-
41
- ![Night mode](./KipNightMode-1024x488.png)
42
-
43
-
44
51
  ## Gauge Layout and Configuration
45
52
  ### Flexible and Easy
46
53
  Meant to build purposeful screen(s) with however many gauges or widgets you want, where you want them.
47
54
 
48
- Quickly devide the screen area into zones, resize and position, add the gauge of your choosing. Need more? Add as many additionnal pages as you whish to keep screens purposeful. Simply tap the buttom navigation keys to quickly rotate from page to page.
55
+ Quickly divide the screen area into zones, resize and position, add the gauge of your choosing. Need more? Add as many additional pages as you whish to keep screens purposeful. Simply tap the navigation button keys to quickly rotate from page to page.
49
56
  ![Layouts Configuration Image](./KipWidgetConfig-layout-1024x488.png)
50
57
 
51
- Easy basic gauge and widget configuratio.
58
+ Easy basic gauge and widget configuration.
52
59
  ![Gauges Configuration Image](./KipConfig-display-1024x488.png)
53
60
 
54
61
  See what Signal K has to offer that you can leverage in a gauge. Select it and tweak the display options for your purpose.
55
62
  ![Paths Configuration Image](./KipWidgetConfig-paths-1024x488.png)
56
63
 
57
- Many units are supported. Choose your prefered App defaults, than tweak it gauge-by-gauge as necessary. KIP will convert the displayed units for you.
64
+ Many units are supported. Choose your preferred App defaults, than tweak it gauge-by-gauge as necessary. KIP will convert the displayed units for you.
58
65
  ![Units Configuration Image](./KipConfig-Units-1024x488.png)
59
66
 
60
67
  ### Reusable Gauge and Widget Library
61
- All KIP Gauges and Widgets are visual presentation controls that are very versatile with multiple configuration options available to suit your needs:
62
- - Text display: Create gauges to display any textual data sent by your system - MPPT state, Timezone date and time, Next Waypoint, Fusion radio song information, noon and sun phases, any system components configuration detail or statues available, etc.
68
+ All KIP Gauges and Widgets are visual presentation controls that are very versatile with multiple advanced configuration options available to suit your needs:
69
+ - Text display: Create gauges to display any textual data sent by your system - MPPT state, vessel details,Next Waypoint, Fusion radio song information, noon and sun phases, any system components configuration detail or statues available, etc.
63
70
  - Numeric display: Create gauges to display any numerical data sent by your system - SOG, Depth, Winds Speed, VMG, refrigerator temperature, weather data, etc.
64
71
  - Wind gauge: Your typical sailboat wind gauge
65
72
  - Autopilot: Operate your autopilot from any device remotely
@@ -67,8 +74,8 @@ The idea is to replicate the functionality of MFDs such as the B&G Triton, Rayma
67
74
  - Linear electrical gauge: A visual display for electrical numerical data - chargers, MPPT, shunt, etc.
68
75
  - Radial gauge: Visually display any numerical data on a radial scale - heading, compass, Speed, etc.
69
76
  - Radial and linear Steel gauge: Old school look & fell gauges
70
- - Button and Switch control: Operate remote devices - light switches, bildge pump, solenoid, any Signal K device that support boolean PUT operations
71
- - Date display: a timezone aware control with flexible presentation formating support
77
+ - Button and Switch control: Operate remote devices - light switches, bilge pump, solenoid, any Signal K path that support boolean PUT operations
78
+ - Date display: a timezone aware control with flexible presentation formatting support
72
79
  - Race Timer: Track regatta start sequence
73
80
  - Historical datagram chart: Display numerical data over time on a chart
74
81
  - Embedded Webpage: A powerful way of integrating any web based content or application within with your KIP layout - Grafana dashboards, Node-RED dashboard, internet weather services, Youtube, Netflix, Twitter, Gmail, your own standalone webapp, you name it!
@@ -84,6 +91,10 @@ The idea is to replicate the functionality of MFDs such as the B&G Triton, Rayma
84
91
  Grafana Embedded Webpage sample
85
92
  ![Embedded Webpage Concept Image](./KipGaugeSample3-1024x508.png)
86
93
 
94
+ ### Harness The Power Of Data State Notifications
95
+ Stay informed with notifications about the state of the data you are interested in.
96
+ As an example, KIP can notify (inform, warn, alert) you when the water depth or a temperature sensor reaches certain levels. In addition to KIP's centralized basic visual and audio notification support, each type of Widget offers a tailored visual representation appropriate
97
+ to their design objectives for an optimal user experience.
87
98
 
88
99
  # Developing
89
100
 
@@ -132,7 +143,7 @@ Join us on Slack -> Signalk-dev / Apps_and_client channel. We will hook up and a
132
143
  * Improved Zones support
133
144
  * Add a KIP Widget CLI Schematic to automate new Widget creation and improve contribution
134
145
  * Improved error logging / performance gain
135
- * Retire outdated Steelgauges
146
+ * Retire outdated SteelGauges
136
147
  * Rebuild alerting to new Signal K Specifications
137
148
  * Attitude Indicator Widget - Help Wanted
138
149
  * Sailing Polars Widget - Help Wanted
package/package.json CHANGED
@@ -1,10 +1,18 @@
1
1
  {
2
2
  "name": "@mxtommy/kip",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "description": "An advanced and versatile marine instrumentation package to display Signal K data.",
5
5
  "license": "MIT",
6
- "author": {"name": "Thomas St.Pierre", "email": "thomas@samoht.ca"},
7
- "contributors": [{"name": "David Godin", "email": "godind@hotmail.com"}],
6
+ "author": {
7
+ "name": "Thomas St.Pierre",
8
+ "email": "thomas@samoht.ca"
9
+ },
10
+ "contributors": [
11
+ {
12
+ "name": "David Godin",
13
+ "email": "godind@hotmail.com"
14
+ }
15
+ ],
8
16
  "homepage": "https://github.com/mxtommy/Kip",
9
17
  "bugs": "https://github.com/mxtommy/Kip/issues",
10
18
  "repository": {
@@ -40,6 +48,7 @@
40
48
  "@angular/compiler-cli": "14.3.0",
41
49
  "@angular/language-service": "14.3.0",
42
50
  "@types/canvas-gauges": "^2.1.2",
51
+ "@types/hammerjs": "^2.0.45",
43
52
  "@types/howler": "^2.2.10",
44
53
  "@types/jasmine": "~3.6.0",
45
54
  "@types/jasminewd2": "^2.0.9",
@@ -63,31 +72,31 @@
63
72
  "typescript": "^4.6.4"
64
73
  },
65
74
  "dependencies": {
66
- "@angular/compiler": "14.3.0",
67
75
  "@angular/animations": "14.3.0",
68
- "@angular/common": "14.3.0",
69
76
  "@angular/cdk": "^14.2.7",
77
+ "@angular/common": "14.3.0",
78
+ "@angular/compiler": "14.3.0",
70
79
  "@angular/core": "14.3.0",
71
80
  "@angular/forms": "14.3.0",
81
+ "@angular/material": "^14.2.7",
72
82
  "@angular/platform-browser": "14.3.0",
73
83
  "@angular/platform-browser-dynamic": "14.3.0",
74
84
  "@angular/router": "14.3.0",
75
- "@angular/material": "^14.2.7",
76
- "rxjs": "^7.5.7",
77
- "rx-dom-html": "^7.0.3",
78
- "zone.js": "~0.11.4",
79
- "core-js": "^3.13.1",
80
- "screenfull": "^6.0.2",
81
- "hammerjs": "^2.0.8",
82
- "howler": "^2.2.4",
83
- "compare-versions": "^5.0.1",
84
85
  "angular-resize-event": "^3.2.0",
85
86
  "angular-split": "^14.1.0",
86
87
  "canvas-gauges": "^2.1.7",
87
88
  "chart.js": "^3.5.1",
88
89
  "chartjs-adapter-date-fns": "^3.0.0",
90
+ "compare-versions": "^5.0.1",
91
+ "core-js": "^3.13.1",
89
92
  "date-fns": "^2.30.0",
93
+ "hammerjs": "^2.0.8",
94
+ "howler": "^2.2.4",
90
95
  "js-quantities": "^1.8.0",
91
- "lodash-es": "^4.17.21"
96
+ "lodash-es": "^4.17.21",
97
+ "rx-dom-html": "^7.0.3",
98
+ "rxjs": "^7.5.7",
99
+ "screenfull": "^6.0.2",
100
+ "zone.js": "~0.11.4"
92
101
  }
93
102
  }
@@ -399,6 +399,31 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
399
399
  SOFTWARE.
400
400
 
401
401
 
402
+ hammerjs
403
+ MIT
404
+ The MIT License (MIT)
405
+
406
+ Copyright (C) 2011-2014 by Jorik Tangelder (Eight Media)
407
+
408
+ Permission is hereby granted, free of charge, to any person obtaining a copy
409
+ of this software and associated documentation files (the "Software"), to deal
410
+ in the Software without restriction, including without limitation the rights
411
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
412
+ copies of the Software, and to permit persons to whom the Software is
413
+ furnished to do so, subject to the following conditions:
414
+
415
+ The above copyright notice and this permission notice shall be included in
416
+ all copies or substantial portions of the Software.
417
+
418
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
419
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
420
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
421
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
422
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
423
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
424
+ THE SOFTWARE.
425
+
426
+
402
427
  howler
403
428
  MIT
404
429
  Copyright (c) 2013-2020 James Simpson and GoldFire Studios, Inc.
package/public/index.html CHANGED
@@ -1,19 +1,15 @@
1
- <!DOCTYPE html><html lang="en"><head>
2
- <meta charset="utf-8">
1
+ <!DOCTYPE html><html lang="en"><head><base href="./">
2
+ <meta charset="utf-8" name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1">
3
3
  <title>KIP</title>
4
- <base href="/@mxtommy/kip/">
5
-
4
+ <link rel="icon" type="image/x-icon" href="favicon.ico">
5
+ <style>@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}:root{--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}</style><link rel="stylesheet" href="assets/fontawesome6/css/all.min.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="assets/fontawesome6/css/all.min.css"></noscript>
6
6
  <script src="assets/tween-min.js"></script>
7
7
  <script src="assets/steelseries-min.js"></script>
8
8
  <script src="assets/NoSleep.min.js"></script>
9
-
10
- <meta name="viewport" content="width=device-width, initial-scale=1">
11
- <link rel="icon" type="image/x-icon" href="favicon.ico">
12
- <style>@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}:root{--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}</style><link rel="stylesheet" href="assets/fontawesome6/css/all.min.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="assets/fontawesome6/css/all.min.css"></noscript>
13
- <style>html,body,app-root{height:100%}body{margin:0}</style><link rel="stylesheet" href="styles.5e53fc8bc300bdac.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.5e53fc8bc300bdac.css"></noscript><link rel="manifest" href="manifest.json" crossorigin="use-credentials"></head>
9
+ <style>html,body,app-root{height:100%}body{margin:0}</style><link rel="stylesheet" href="styles.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.css"></noscript><link rel="manifest" href="manifest.json" crossorigin="use-credentials"></head>
14
10
 
15
11
  <body>
16
12
  <app-root></app-root>
17
- <script src="runtime.e75056c32c37f59d.js" type="module"></script><script src="polyfills.64db6be9cdc8f808.js" type="module"></script><script src="main.32aba1d68004481e.js" type="module"></script>
13
+ <script src="runtime.js" type="module"></script><script src="polyfills.js" type="module"></script><script src="main.js" type="module"></script>
18
14
 
19
15
  </body></html>