homebridge-eufy-security 2.2.4 → 2.3.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.
Files changed (102) hide show
  1. package/CHANGELOG.md +39 -11
  2. package/README.md +26 -25
  3. package/dist/accessories/CameraAccessory.d.ts +55 -21
  4. package/dist/accessories/CameraAccessory.d.ts.map +1 -1
  5. package/dist/accessories/CameraAccessory.js +460 -214
  6. package/dist/accessories/CameraAccessory.js.map +1 -1
  7. package/dist/accessories/Device.d.ts +3 -3
  8. package/dist/accessories/Device.d.ts.map +1 -1
  9. package/dist/accessories/Device.js +15 -0
  10. package/dist/accessories/Device.js.map +1 -1
  11. package/dist/accessories/DoorbellCameraAccessory.d.ts +4 -1
  12. package/dist/accessories/DoorbellCameraAccessory.d.ts.map +1 -1
  13. package/dist/accessories/DoorbellCameraAccessory.js +65 -4
  14. package/dist/accessories/DoorbellCameraAccessory.js.map +1 -1
  15. package/dist/accessories/SmartLockAccessory.d.ts +2 -2
  16. package/dist/accessories/StationAccessory.d.ts +4 -0
  17. package/dist/accessories/StationAccessory.d.ts.map +1 -1
  18. package/dist/accessories/StationAccessory.js +64 -7
  19. package/dist/accessories/StationAccessory.js.map +1 -1
  20. package/dist/config.d.ts +4 -0
  21. package/dist/config.d.ts.map +1 -1
  22. package/dist/controller/LocalLivestreamManager.d.ts +3 -8
  23. package/dist/controller/LocalLivestreamManager.d.ts.map +1 -1
  24. package/dist/controller/LocalLivestreamManager.js +4 -47
  25. package/dist/controller/LocalLivestreamManager.js.map +1 -1
  26. package/dist/controller/SnapshotManager.d.ts +1 -1
  27. package/dist/controller/SnapshotManager.d.ts.map +1 -1
  28. package/dist/controller/SnapshotManager.js +23 -1
  29. package/dist/controller/SnapshotManager.js.map +1 -1
  30. package/dist/controller/recordingDelegate.d.ts +29 -0
  31. package/dist/controller/recordingDelegate.d.ts.map +1 -0
  32. package/dist/controller/recordingDelegate.js +186 -0
  33. package/dist/controller/recordingDelegate.js.map +1 -0
  34. package/dist/controller/streamingDelegate.d.ts +6 -6
  35. package/dist/controller/streamingDelegate.d.ts.map +1 -1
  36. package/dist/controller/streamingDelegate.js +21 -60
  37. package/dist/controller/streamingDelegate.js.map +1 -1
  38. package/dist/index.d.ts +1 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/platform.d.ts +6 -0
  41. package/dist/platform.d.ts.map +1 -1
  42. package/dist/platform.js +112 -66
  43. package/dist/platform.js.map +1 -1
  44. package/dist/utils/EufyClientInteractor.d.ts +36 -0
  45. package/dist/utils/EufyClientInteractor.d.ts.map +1 -0
  46. package/dist/utils/EufyClientInteractor.js +357 -0
  47. package/dist/utils/EufyClientInteractor.js.map +1 -0
  48. package/dist/utils/Talkback.d.ts +0 -1
  49. package/dist/utils/Talkback.d.ts.map +1 -1
  50. package/dist/utils/configTypes.d.ts +15 -5
  51. package/dist/utils/configTypes.d.ts.map +1 -1
  52. package/dist/utils/experimental.d.ts +4 -0
  53. package/dist/utils/experimental.d.ts.map +1 -0
  54. package/dist/utils/experimental.js +49 -0
  55. package/dist/utils/experimental.js.map +1 -0
  56. package/dist/utils/ffmpeg.d.ts +30 -4
  57. package/dist/utils/ffmpeg.d.ts.map +1 -1
  58. package/dist/utils/ffmpeg.js +322 -30
  59. package/dist/utils/ffmpeg.js.map +1 -1
  60. package/dist/utils/interfaces.d.ts +13 -0
  61. package/dist/utils/interfaces.d.ts.map +1 -0
  62. package/dist/utils/interfaces.js +12 -0
  63. package/dist/utils/interfaces.js.map +1 -0
  64. package/homebridge-ui/configui/app/accessory.d.ts +1 -1
  65. package/homebridge-ui/configui/app/accessory.d.ts.map +1 -1
  66. package/homebridge-ui/configui/app/util/types.d.ts +2 -2
  67. package/homebridge-ui/configui/app/util/types.d.ts.map +1 -1
  68. package/homebridge-ui/configui/app/util/types.js +1 -1
  69. package/homebridge-ui/configui/app/util/types.js.map +1 -1
  70. package/homebridge-ui/plugin/utils/EufyClientInteractor.d.ts +36 -0
  71. package/homebridge-ui/plugin/utils/EufyClientInteractor.d.ts.map +1 -0
  72. package/homebridge-ui/plugin/utils/EufyClientInteractor.js +357 -0
  73. package/homebridge-ui/plugin/utils/EufyClientInteractor.js.map +1 -0
  74. package/homebridge-ui/plugin/utils/experimental.d.ts +4 -0
  75. package/homebridge-ui/plugin/utils/experimental.d.ts.map +1 -0
  76. package/homebridge-ui/plugin/utils/experimental.js +49 -0
  77. package/homebridge-ui/plugin/utils/experimental.js.map +1 -0
  78. package/homebridge-ui/plugin/utils/interfaces.d.ts +13 -0
  79. package/homebridge-ui/plugin/utils/interfaces.d.ts.map +1 -0
  80. package/homebridge-ui/plugin/utils/interfaces.js +12 -0
  81. package/homebridge-ui/plugin/utils/interfaces.js.map +1 -0
  82. package/homebridge-ui/plugin/utils/logger.d.ts +12 -0
  83. package/homebridge-ui/plugin/utils/logger.d.ts.map +1 -0
  84. package/homebridge-ui/plugin/utils/logger.js +36 -0
  85. package/homebridge-ui/plugin/utils/logger.js.map +1 -0
  86. package/homebridge-ui/public/3rdpartylicenses.txt +191 -6
  87. package/homebridge-ui/public/index.html +2 -2
  88. package/homebridge-ui/public/main.22a0c49e2138888f.js +1 -0
  89. package/homebridge-ui/public/polyfills.6050693665c0e882.js +1 -0
  90. package/homebridge-ui/public/styles.e02689e7df4304da.css +6 -0
  91. package/homebridge-ui/server.js +17 -1
  92. package/homebridge-ui/server.js.map +1 -1
  93. package/package.json +48 -46
  94. package/homebridge-ui/public/assets/devices/4g_lte_starlight_large.jpg +0 -0
  95. package/homebridge-ui/public/assets/devices/garage_camera_t8452_large.jpg +0 -0
  96. package/homebridge-ui/public/assets/devices/smartdrop_t8790_large.jpg +0 -0
  97. package/homebridge-ui/public/assets/devices/smartsafe_s10_t7400_large.jpg +0 -0
  98. package/homebridge-ui/public/assets/devices/smartsafe_s12_t7401_large.jpg +0 -0
  99. package/homebridge-ui/public/assets/devices/walllight_s100_large.jpg +0 -0
  100. package/homebridge-ui/public/main.0d25748cc9303f6b.js +0 -1
  101. package/homebridge-ui/public/polyfills.cdb21ff95fdea645.js +0 -1
  102. package/homebridge-ui/public/styles.021488511c20c432.css +0 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experimental.d.ts","sourceRoot":"","sources":["../../../src/plugin/utils/experimental.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,OAAO,EACP,MAAM,EACP,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,0BAA0B,YAEtC,CAAC;AA6CF,eAAO,MAAM,iBAAiB,YAAa,OAAO,UAAU,MAAM,SAAS,OAAO,SAEjF,CAAC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setRTSPCapability = exports.initializeExperimentalMode = void 0;
4
+ const eufy_security_client_1 = require("eufy-security-client");
5
+ const initializeExperimentalMode = () => {
6
+ addRTSPPropertiesToAllDevices();
7
+ };
8
+ exports.initializeExperimentalMode = initializeExperimentalMode;
9
+ eufy_security_client_1.PropertyName['ExperimentalModification'] = 'experimentalModification';
10
+ const DeviceExperimentalModification = {
11
+ key: 0,
12
+ name: eufy_security_client_1.PropertyName['ExperimentalModification'],
13
+ label: 'Experimental Modification',
14
+ readable: true,
15
+ writeable: false,
16
+ type: 'boolean',
17
+ };
18
+ const addRTSPPropertiesToAllDevices = () => {
19
+ const deviceTypes = Object.values(eufy_security_client_1.DeviceType).filter(t => !isNaN(Number(t)));
20
+ deviceTypes.forEach(deviceType => addRTSPPropertiesToDevice(deviceType));
21
+ };
22
+ const addRTSPPropertiesToDevice = (deviceType) => {
23
+ let changed = false;
24
+ if (eufy_security_client_1.DeviceProperties[deviceType] && !eufy_security_client_1.DeviceProperties[deviceType][eufy_security_client_1.PropertyName.DeviceRTSPStream]) {
25
+ eufy_security_client_1.DeviceProperties[deviceType] = {
26
+ ...eufy_security_client_1.DeviceProperties[deviceType],
27
+ [eufy_security_client_1.PropertyName.DeviceRTSPStream]: eufy_security_client_1.DeviceRTSPStreamProperty,
28
+ };
29
+ changed = true;
30
+ }
31
+ if (eufy_security_client_1.DeviceProperties[deviceType] && !eufy_security_client_1.DeviceProperties[deviceType][eufy_security_client_1.PropertyName.DeviceRTSPStreamUrl]) {
32
+ eufy_security_client_1.DeviceProperties[deviceType] = {
33
+ ...eufy_security_client_1.DeviceProperties[deviceType],
34
+ [eufy_security_client_1.PropertyName.DeviceRTSPStreamUrl]: eufy_security_client_1.DeviceRTSPStreamUrlProperty,
35
+ };
36
+ changed = true;
37
+ }
38
+ if (changed && eufy_security_client_1.DeviceProperties[deviceType] && !eufy_security_client_1.DeviceProperties[deviceType][eufy_security_client_1.PropertyName['ExperimentalModification']]) {
39
+ eufy_security_client_1.DeviceProperties[deviceType] = {
40
+ ...eufy_security_client_1.DeviceProperties[deviceType],
41
+ [eufy_security_client_1.PropertyName['ExperimentalModification']]: DeviceExperimentalModification,
42
+ };
43
+ }
44
+ };
45
+ const setRTSPCapability = (station, device, value) => {
46
+ station.setRTSPStream(device, value);
47
+ };
48
+ exports.setRTSPCapability = setRTSPCapability;
49
+ //# sourceMappingURL=experimental.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experimental.js","sourceRoot":"","sources":["../../../src/plugin/utils/experimental.ts"],"names":[],"mappings":";;;AAAA,+DAS8B;AAEvB,MAAM,0BAA0B,GAAG,GAAG,EAAE;IAC7C,6BAA6B,EAAE,CAAC;AAClC,CAAC,CAAC;AAFW,QAAA,0BAA0B,8BAErC;AAEF,mCAAY,CAAC,0BAA0B,CAAC,GAAG,0BAA0B,CAAC;AAEtE,MAAM,8BAA8B,GAA4B;IAC9D,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,mCAAY,CAAC,0BAA0B,CAAC;IAC9C,KAAK,EAAE,2BAA2B;IAClC,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF,MAAM,6BAA6B,GAAG,GAAG,EAAE;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,iCAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,UAA+B,EAAE,EAAE;IACpE,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,IAAI,uCAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,uCAAgB,CAAC,UAAU,CAAC,CAAC,mCAAY,CAAC,gBAAgB,CAAC,EAAE;QAChG,uCAAgB,CAAC,UAAU,CAAC,GAAG;YAC7B,GAAG,uCAAgB,CAAC,UAAU,CAAC;YAC/B,CAAC,mCAAY,CAAC,gBAAgB,CAAC,EAAE,+CAAwB;SAC1D,CAAC;QACF,OAAO,GAAG,IAAI,CAAC;KAChB;IAED,IAAI,uCAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,uCAAgB,CAAC,UAAU,CAAC,CAAC,mCAAY,CAAC,mBAAmB,CAAC,EAAE;QACnG,uCAAgB,CAAC,UAAU,CAAC,GAAG;YAC7B,GAAG,uCAAgB,CAAC,UAAU,CAAC;YAC/B,CAAC,mCAAY,CAAC,mBAAmB,CAAC,EAAE,kDAA2B;SAChE,CAAC;QACF,OAAO,GAAG,IAAI,CAAC;KAChB;IAED,IAAI,OAAO,IAAI,uCAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,uCAAgB,CAAC,UAAU,CAAC,CAAC,mCAAY,CAAC,0BAA0B,CAAC,CAAC,EAAE;QACtH,uCAAgB,CAAC,UAAU,CAAC,GAAG;YAC7B,GAAG,uCAAgB,CAAC,UAAU,CAAC;YAC/B,CAAC,mCAAY,CAAC,0BAA0B,CAAC,CAAC,EAAE,8BAA8B;SAC3E,CAAC;KACH;AACH,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAAC,OAAgB,EAAE,MAAc,EAAE,KAAc,EAAE,EAAE;IACpF,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B"}
@@ -0,0 +1,13 @@
1
+ export declare class EufyClientNotRunningError extends Error {
2
+ constructor(message?: string);
3
+ }
4
+ export interface PluginConfigInteractor {
5
+ DeviceIsCharging(sn: string): Promise<number>;
6
+ DeviceSetExperimentalRTSP(sn: string, value: boolean): Promise<string>;
7
+ DeviceGetExperimentalRTSPStatus(sn: string): Promise<{
8
+ state: boolean;
9
+ url?: string;
10
+ }>;
11
+ GetStationCamerasMapping(): Promise<unknown>;
12
+ }
13
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/plugin/utils/interfaces.ts"],"names":[],"mappings":"AAAA,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,OAAO,CAAC,EAAE,MAAM;CAK7B;AAED,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,yBAAyB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,+BAA+B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvF,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9C"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EufyClientNotRunningError = void 0;
4
+ class EufyClientNotRunningError extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ Object.setPrototypeOf(this, new.target.prototype);
8
+ this.name = EufyClientNotRunningError.name;
9
+ }
10
+ }
11
+ exports.EufyClientNotRunningError = EufyClientNotRunningError;
12
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/plugin/utils/interfaces.ts"],"names":[],"mappings":";;;AAAA,MAAa,yBAA0B,SAAQ,KAAK;IAClD,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC,IAAI,CAAC;IAC7C,CAAC;CACF;AAND,8DAMC"}
@@ -0,0 +1,12 @@
1
+ import { Logging } from 'homebridge';
2
+ export declare class Logger {
3
+ private readonly log;
4
+ private readonly debugMode;
5
+ constructor(log: Logging);
6
+ private formatMessage;
7
+ info(message: string, device?: string): void;
8
+ warn(message: string, device?: string): void;
9
+ error(message: string, device?: string): void;
10
+ debug(message: string, device?: string, alwaysLog?: boolean): void;
11
+ }
12
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/plugin/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;gBAExB,GAAG,EAAE,OAAO;IAKxB,OAAO,CAAC,aAAa;IASd,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI7C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,IAAI;CAOxE"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Logger = void 0;
4
+ class Logger {
5
+ constructor(log) {
6
+ this.log = log;
7
+ this.debugMode = process.argv.includes('-D') || process.argv.includes('--debug');
8
+ }
9
+ formatMessage(message, device) {
10
+ let formatted = '';
11
+ if (device) {
12
+ formatted += '[' + device + '] ';
13
+ }
14
+ formatted += message;
15
+ return formatted;
16
+ }
17
+ info(message, device) {
18
+ this.log.info(this.formatMessage(message, device));
19
+ }
20
+ warn(message, device) {
21
+ this.log.warn(this.formatMessage(message, device));
22
+ }
23
+ error(message, device) {
24
+ this.log.error(this.formatMessage(message, device));
25
+ }
26
+ debug(message, device, alwaysLog = false) {
27
+ if (this.debugMode) {
28
+ this.log.debug(this.formatMessage(message, device));
29
+ }
30
+ else if (alwaysLog) {
31
+ this.info(message, device);
32
+ }
33
+ }
34
+ }
35
+ exports.Logger = Logger;
36
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/plugin/utils/logger.ts"],"names":[],"mappings":";;;AAEA,MAAa,MAAM;IAIjB,YAAY,GAAY;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACnF,CAAC;IAEO,aAAa,CAAC,OAAe,EAAE,MAAe;QACpD,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,MAAM,EAAE;YACV,SAAS,IAAI,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC;SAClC;QACD,SAAS,IAAI,OAAO,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,MAAe;QAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,MAAe;QAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,MAAe;QAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,MAAe,EAAE,SAAS,GAAG,KAAK;QAC9D,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;SACrD;aAAM,IAAI,SAAS,EAAE;YACpB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SAC5B;IACH,CAAC;CACF;AArCD,wBAqCC"}
@@ -68,7 +68,7 @@ as SVG and JS file types.
68
68
  In the Font Awesome Free download, the SIL OFL license applies to all icons
69
69
  packaged as web and desktop font files.
70
70
 
71
- Copyright (c) 2023 Fonticons, Inc. (https://fontawesome.com)
71
+ Copyright (c) 2022 Fonticons, Inc. (https://fontawesome.com)
72
72
  with Reserved Font Name: "Font Awesome".
73
73
 
74
74
  This Font Software is licensed under the SIL Open Font License, Version 1.1.
@@ -168,7 +168,176 @@ OTHER DEALINGS IN THE FONT SOFTWARE.
168
168
  In the Font Awesome Free download, the MIT license applies to all non-font and
169
169
  non-icon files.
170
170
 
171
- Copyright 2023 Fonticons, Inc.
171
+ Copyright 2022 Fonticons, Inc.
172
+
173
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
174
+ this software and associated documentation files (the "Software"), to deal in the
175
+ Software without restriction, including without limitation the rights to use, copy,
176
+ modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
177
+ and to permit persons to whom the Software is furnished to do so, subject to the
178
+ following conditions:
179
+
180
+ The above copyright notice and this permission notice shall be included in all
181
+ copies or substantial portions of the Software.
182
+
183
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
184
+ INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
185
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
186
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
187
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
188
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
189
+
190
+ --------------------------------------------------------------------------------
191
+
192
+ # Attribution
193
+
194
+ Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font
195
+ Awesome Free files already contain embedded comments with sufficient
196
+ attribution, so you shouldn't need to do anything additional when using these
197
+ files normally.
198
+
199
+ We've kept attribution comments terse, so we ask that you do not actively work
200
+ to remove them from files, especially code. They're a great way for folks to
201
+ learn about Font Awesome.
202
+
203
+ --------------------------------------------------------------------------------
204
+
205
+ # Brand Icons
206
+
207
+ All brand icons are trademarks of their respective owners. The use of these
208
+ trademarks does not indicate endorsement of the trademark holder by Font
209
+ Awesome, nor vice versa. **Please do not use brand logos for any purpose except
210
+ to represent the company, product, or service to which they refer.**
211
+
212
+
213
+ @fortawesome/free-regular-svg-icons
214
+ (CC-BY-4.0 AND MIT)
215
+ Fonticons, Inc. (https://fontawesome.com)
216
+
217
+ --------------------------------------------------------------------------------
218
+
219
+ Font Awesome Free License
220
+
221
+ Font Awesome Free is free, open source, and GPL friendly. You can use it for
222
+ commercial projects, open source projects, or really almost whatever you want.
223
+ Full Font Awesome Free license: https://fontawesome.com/license/free.
224
+
225
+ --------------------------------------------------------------------------------
226
+
227
+ # Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/)
228
+
229
+ The Font Awesome Free download is licensed under a Creative Commons
230
+ Attribution 4.0 International License and applies to all icons packaged
231
+ as SVG and JS file types.
232
+
233
+ --------------------------------------------------------------------------------
234
+
235
+ # Fonts: SIL OFL 1.1 License
236
+
237
+ In the Font Awesome Free download, the SIL OFL license applies to all icons
238
+ packaged as web and desktop font files.
239
+
240
+ Copyright (c) 2022 Fonticons, Inc. (https://fontawesome.com)
241
+ with Reserved Font Name: "Font Awesome".
242
+
243
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
244
+ This license is copied below, and is also available with a FAQ at:
245
+ http://scripts.sil.org/OFL
246
+
247
+ SIL OPEN FONT LICENSE
248
+ Version 1.1 - 26 February 2007
249
+
250
+ PREAMBLE
251
+ The goals of the Open Font License (OFL) are to stimulate worldwide
252
+ development of collaborative font projects, to support the font creation
253
+ efforts of academic and linguistic communities, and to provide a free and
254
+ open framework in which fonts may be shared and improved in partnership
255
+ with others.
256
+
257
+ The OFL allows the licensed fonts to be used, studied, modified and
258
+ redistributed freely as long as they are not sold by themselves. The
259
+ fonts, including any derivative works, can be bundled, embedded,
260
+ redistributed and/or sold with any software provided that any reserved
261
+ names are not used by derivative works. The fonts and derivatives,
262
+ however, cannot be released under any other type of license. The
263
+ requirement for fonts to remain under this license does not apply
264
+ to any document created using the fonts or their derivatives.
265
+
266
+ DEFINITIONS
267
+ "Font Software" refers to the set of files released by the Copyright
268
+ Holder(s) under this license and clearly marked as such. This may
269
+ include source files, build scripts and documentation.
270
+
271
+ "Reserved Font Name" refers to any names specified as such after the
272
+ copyright statement(s).
273
+
274
+ "Original Version" refers to the collection of Font Software components as
275
+ distributed by the Copyright Holder(s).
276
+
277
+ "Modified Version" refers to any derivative made by adding to, deleting,
278
+ or substituting — in part or in whole — any of the components of the
279
+ Original Version, by changing formats or by porting the Font Software to a
280
+ new environment.
281
+
282
+ "Author" refers to any designer, engineer, programmer, technical
283
+ writer or other person who contributed to the Font Software.
284
+
285
+ PERMISSION & CONDITIONS
286
+ Permission is hereby granted, free of charge, to any person obtaining
287
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
288
+ redistribute, and sell modified and unmodified copies of the Font
289
+ Software, subject to the following conditions:
290
+
291
+ 1) Neither the Font Software nor any of its individual components,
292
+ in Original or Modified Versions, may be sold by itself.
293
+
294
+ 2) Original or Modified Versions of the Font Software may be bundled,
295
+ redistributed and/or sold with any software, provided that each copy
296
+ contains the above copyright notice and this license. These can be
297
+ included either as stand-alone text files, human-readable headers or
298
+ in the appropriate machine-readable metadata fields within text or
299
+ binary files as long as those fields can be easily viewed by the user.
300
+
301
+ 3) No Modified Version of the Font Software may use the Reserved Font
302
+ Name(s) unless explicit written permission is granted by the corresponding
303
+ Copyright Holder. This restriction only applies to the primary font name as
304
+ presented to the users.
305
+
306
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
307
+ Software shall not be used to promote, endorse or advertise any
308
+ Modified Version, except to acknowledge the contribution(s) of the
309
+ Copyright Holder(s) and the Author(s) or with their explicit written
310
+ permission.
311
+
312
+ 5) The Font Software, modified or unmodified, in part or in whole,
313
+ must be distributed entirely under this license, and must not be
314
+ distributed under any other license. The requirement for fonts to
315
+ remain under this license does not apply to any document created
316
+ using the Font Software.
317
+
318
+ TERMINATION
319
+ This license becomes null and void if any of the above conditions are
320
+ not met.
321
+
322
+ DISCLAIMER
323
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
324
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
325
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
326
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
327
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
328
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
329
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
330
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
331
+ OTHER DEALINGS IN THE FONT SOFTWARE.
332
+
333
+ --------------------------------------------------------------------------------
334
+
335
+ # Code: MIT License (https://opensource.org/licenses/MIT)
336
+
337
+ In the Font Awesome Free download, the MIT license applies to all non-font and
338
+ non-icon files.
339
+
340
+ Copyright 2022 Fonticons, Inc.
172
341
 
173
342
  Permission is hereby granted, free of charge, to any person obtaining a copy of
174
343
  this software and associated documentation files (the "Software"), to deal in the
@@ -237,7 +406,7 @@ as SVG and JS file types.
237
406
  In the Font Awesome Free download, the SIL OFL license applies to all icons
238
407
  packaged as web and desktop font files.
239
408
 
240
- Copyright (c) 2023 Fonticons, Inc. (https://fontawesome.com)
409
+ Copyright (c) 2022 Fonticons, Inc. (https://fontawesome.com)
241
410
  with Reserved Font Name: "Font Awesome".
242
411
 
243
412
  This Font Software is licensed under the SIL Open Font License, Version 1.1.
@@ -337,7 +506,7 @@ OTHER DEALINGS IN THE FONT SOFTWARE.
337
506
  In the Font Awesome Free download, the MIT license applies to all non-font and
338
507
  non-icon files.
339
508
 
340
- Copyright 2023 Fonticons, Inc.
509
+ Copyright 2022 Fonticons, Inc.
341
510
 
342
511
  Permission is hereby granted, free of charge, to any person obtaining a copy of
343
512
  this software and associated documentation files (the "Software"), to deal in the
@@ -457,7 +626,8 @@ bootstrap
457
626
  MIT
458
627
  The MIT License (MIT)
459
628
 
460
- Copyright (c) 2011-2023 The Bootstrap Authors
629
+ Copyright (c) 2011-2021 Twitter, Inc.
630
+ Copyright (c) 2011-2021 The Bootstrap Authors
461
631
 
462
632
  Permission is hereby granted, free of charge, to any person obtaining a copy
463
633
  of this software and associated documentation files (the "Software"), to deal
@@ -724,11 +894,26 @@ Apache-2.0
724
894
 
725
895
 
726
896
 
897
+ tslib
898
+ 0BSD
899
+ Copyright (c) Microsoft Corporation.
900
+
901
+ Permission to use, copy, modify, and/or distribute this software for any
902
+ purpose with or without fee is hereby granted.
903
+
904
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
905
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
906
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
907
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
908
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
909
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
910
+ PERFORMANCE OF THIS SOFTWARE.
911
+
727
912
  zone.js
728
913
  MIT
729
914
  The MIT License
730
915
 
731
- Copyright (c) 2010-2023 Google LLC. https://angular.io/license
916
+ Copyright (c) 2010-2022 Google LLC. https://angular.io/license
732
917
 
733
918
  Permission is hereby granted, free of charge, to any person obtaining a copy
734
919
  of this software and associated documentation files (the "Software"), to deal
@@ -6,8 +6,8 @@
6
6
  <base href="/api/plugins/settings-ui/homebridge-eufy-security/">
7
7
  <meta name="viewport" content="width=device-width, initial-scale=1">
8
8
  <link rel="icon" type="image/x-icon" href="favicon.ico">
9
- <link rel="stylesheet" href="styles.021488511c20c432.css"></head>
9
+ <link rel="stylesheet" href="styles.e02689e7df4304da.css"></head>
10
10
  <body>
11
11
  <app-root></app-root>
12
- <script src="runtime.1b3e1be22c2e329f.js" type="module"></script><script src="polyfills.cdb21ff95fdea645.js" type="module"></script><script src="main.0d25748cc9303f6b.js" type="module"></script></body>
12
+ <script src="runtime.1b3e1be22c2e329f.js" type="module"></script><script src="polyfills.6050693665c0e882.js" type="module"></script><script src="main.22a0c49e2138888f.js" type="module"></script></body>
13
13
  </html>